0
Существует UserControl с свойством - набором класса Item, в Item is dep property Name. Там ViewModel, свойство, которое требует привязки к имени элемента. ViewModel находится в DataContext UserControl.Привязать к свойству коллекции, объявленной в xaml
код:
public partial class UserControl1
{
public ObservableCollection<Item> Items { get; set; }
...
public class Item : DependencyObject
{
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}
public static readonly DependencyProperty NameProperty = DependencyProperty.Register("Name", typeof(string), typeof(Item), new
PropertyMetadata(null));
}
public class ViewModel
{
public string Name { get; set; }
}
userControl.DataContext = new ViewModel { Name = "Test" };
<wpfApplication6:UserControl1 x:Name="userControl">
<wpfApplication6:UserControl1.Items>
<wpfApplication6:Item Name="{Binding Name, RelativeSource={RelativeSource FindAncestor,
AncestorType=wpfApplication6:UserControl1}}" />
</wpfApplication6:UserControl1.Items>
</wpfApplication6:UserControl1>
Там не работает. Пожалуйста, помогите мне.
То же самое, что я расскажу всем остальным: Изучите MVVM, прежде чем писать одну строку кода в WPF. ObservableCollections не относятся к UserControls. –
Реалистичный? Почему нет? – ortuomka
Потому что [UI не Data] (http://stackoverflow.com/a/14382137/643085). Поэтому вы не должны помещать Data в классы пользовательского интерфейса. –