使用动态键绑定到字典

时间:2016-06-28 13:59:13

标签: c# wpf mvvm datagrid

我在DataGrid中有一个切换按钮:

<DataGridTemplateColumn Header=""   >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>          
       <ToggleButton Checked="ToggleStrawSpecificTrue_Click" 
            Unchecked="ToggleStrawSpecificFalse_Click" Margin = "0,0,10,0"
            Width="150" HorizontalAlignment = "Center">
           <ToggleButton.Style>
               <Style TargetType="ToggleButton">
               <Style.Triggers>
                   <DataTrigger Binding="{Binding  Path=DataContext.IsSpecificDict[id]}" Value="false">
                       <Setter Property="Content" Value="{x:Static resx:IVFOocytes.NotPartOfGroup}"></Setter>
                   </DataTrigger>
                   <DataTrigger Binding="{Binding  Path=DataContext.IsSpecificDict[id]}" Value="true">
                       <Setter Property="Content" Value="{x:Static resx:IVFOocytes.PartOfGroup}"></Setter>
                   </DataTrigger>
                   </Style.Triggers>
               </Style>
           </ToggleButton.Style>
       </ToggleButton>
   </DataTemplate>

IsSpecificDict是一个int密钥和bool值的字典,它是虚拟机的一部分:

private Dictionary<int,bool> _isSpecificDict;

public Dictionary<int,bool> IsSpecificDict
{
  get { return _isSpecificDict; }
  set { _isSpecificDict = value; OnNotifyPropertyChanged("IsSpecificDict");  }
}     

DataGrid的ItemSource是一个DataView。如果我将DataTrigger绑定到DataView中的一列它可以工作,但是我需要它去字典,因为它是计算的。 有没有办法做到这一点?绑定的东西令人困惑。 感谢

0 个答案:

没有答案