Я использую TreeView для отображения моих данных. Я хочу привязать передний план элемента древовидной структуры. Вот мой код ниже.TreeView элемент привязки переднего плана MVVM
Вид:
<UserControl.Resources>
<HierarchicalDataTemplate x:Key="TreeViewItem" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<CheckBox Margin="2" IsChecked="{Binding IsChecked, Mode=TwoWay}" Content="{Binding Title}"
Background="{Binding Path=ForegroundColor}" IsThreeState="True"/>
</StackPanel>
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid>
<TreeView Margin="5, 0, 5, 0" ItemsSource="{Binding GeoGraphixModules}" ItemTemplate="{StaticResource TreeViewItem}" IsEnabled="{Binding TreeViewEnabled}" />
</Grid>
И на мой взгляд, модель
общественного класса SomeTreeViewItem { общественного Коллекция Дети { прибудете {вернуться _children; }}
public Brush ForegroundColor
{
get
{
if (SomeCheck)
return Brushes.Green;
else
return Brushes.Red;
}
}
}
Теперь, когда я отладка этого приложения «ForegroundColor» ударило, но приложение по-прежнему отображается черным, как передний план для всех дочерних элементов. В чем проблема?
Привет, Faisal. Если вы отлаживаете это приложение, есть ли в вашем окне вывода ошибки привязки? –
Ошибка System.Windows.Data: 1: Невозможно создать конвертер по умолчанию для выполнения односторонних конверсий между типами «System.Drawing.Brush» и «System.Windows.Media.Brush». Рассмотрите возможность использования свойства преобразования Binding. BindingExpression: Path = ForegroundColor; DataItem = 'GeoGraphixModule' (HashCode = 63453159); целевой элемент - «CheckBox» (Name = ''); target - «Background» (тип «Brush») –