У меня есть проект MVVM WPF. У меня есть DataGrid на странице, привязанной к DataView (из DataTable). Что мне нужно, чтобы использовать MultiDataTrigger для цвета фона из DataGrid строк, которые должны быть переопределены истинным значением ViewModel собственности:DataGrid MultiDataTrigger Привязка к объекту ViewModel
public bool IsAutorized
{
get { return _isAutorized; }
set
{
_isAutorized = value;
OnNotifyPropertyChanged("IsAutorized");
}
}
В то время как истинное значение является свойством DataRow. Это то, что у меня есть сейчас, и привязка к свойству ViewModel неверна, когда я установил точку останова на свойство get, это не «пойман».
<Style.Triggers>
<Trigger Property="DataGridRow.IsSelected" Value="True">
<Setter Property="Background" Value="#CCDAFF"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsAutorized,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Page}}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self},Path=IsNotSpecific}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#CCF4FF" />
</MultiDataTrigger> </Style.Triggers>
Проблемы с переплетением очень сбивают с толку, я пробовал googleing, но ничего не нашел. Любые идеи горячие, чтобы это сделать?
спасибо.
- EDIT:
"IsNotSpecific" и "IsSelected" являются как Colmns в DataView, который берется из DataTable, строго типизированной таблице DataSet.
Когда строка выбрана, поле/столбец «IsSelected» имеет значение true и определенный цвет является triggerd. Если для свойства View IsAutorized установлено значение true и столбец DataRow (из DataTable) «IsNotSpecific» установлен на «True», должен отображаться другой цвет.
Почему вы пишете RelativeSource? IsAutorized, очевидно, не является свойством страницы. – Clemens
@Clemens IsAutorized является собственностью ViewModel. Я просто пытаюсь все, потому что я не знаю, что будет работать. Как мне добраться до свойств виртуальной машины? –
Пожалуйста, добавьте дополнительную информацию. –