В моей модели просмотра (VM) У меня есть ObservableCollection элементов. По моему мнению, я привязываюсь к коллекции. Я создал несколько пользовательских элементов управления, у которых есть свойство зависимости, которое я связываю с вызываемым STCode. Так, например, объект «Tag» будет иметь свойство «Name» типа String и свойство «value» типа integer.Привязать к определенному элементу в ObservableCollection, проверив значение свойства string
В моей ViewModel
Constructor
Tags.Add(new Tag("Tag1",111));
Tags.Add(new Tag("Tag2",222));
Tags.Add(new Tag("Tag3",333));
Tags.Add(new Tag("Tag4",444));
public ObservableCollection<Tag> Tags
{
get
{
return _TagList;
}
set
{
if (value != _TagList)
{
_TagList = value;
}
}
}
На мой взгляд
<my:UserControl1 x:Name="control1" Margin="12,89,0,0" HorizontalAlignment="Left" Width="257" Height="249" VerticalAlignment="Top" STCode="{Binding Path=Value}"/>
Это связывается со свойством первой штук значение в ObservableCollection (Показывается значение "tag1"). Есть ли в любом случае, что я могу получить конкретный объект «tag» из наблюдаемого набора, указав свойство имени строки? Таким образом, в основном, если у меня было 3 экземпляра моего usercontrol в представлении, на каждом элементе управления я хотел бы указать свойство «Name» объекта Tag как строку в XAML, а в ответ привязать этот конкретный элемент управления к этому конкретному тегу integer " Значение "свойство?
Я надеюсь, что это имеет смысл
Модель
public class Tag : ModelBase
{
private int _value;
public string Tagname { get; set; }
public int Value
{
get
{
return _value;
}
set
{
_value = value;
NotifyPropertyChanged("Value");
}
}
}
ModelBase
public class ModelBase :INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Почему бы просто не создать свойство для каждого тега и не привязаться к нему? – metacircle
Я не могу сделать это, так как могут быть сотни тегов – DLR
Как насчет использования IValueConverter для привязки и настройки его Paramater в соответствии с вашими потребностями. http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx – metacircle