2013-05-28 22 views
0

我已經創建了Matrix種類Datagrid在我的應用程序中使用以下XAML。如何將布爾表達式作爲值插入到Datagrid的Datagridcell中

XAML

<DataGrid x:Name="Matrix_datagrid">   
     <DataGrid.RowHeaderTemplate> 
      <DataTemplate> 
      <TextBlock 
      Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
      AncestorType={x:Type DataGridRow}}, 
      Path=Item.Header}"/> 
      </DataTemplate> 
     </DataGrid.RowHeaderTemplate> 
     <DataGridTextColumn Header="Availability"/> 
     <DataGridTextColumn Header="CPU"/> 
     <DataGridTextColumn Header="RAM"/> 
     <DataGridTextColumn Header="Hard Disk"/> 
     <DataGrid.ColumnHeaderStyle> 
      <Style TargetType="{x:Type DataGridColumnHeader}"> 
       <Setter Property="LayoutTransform"> 
        <Setter.Value> 
         <RotateTransform Angle="270" /> 
        </Setter.Value> 
       </Setter>      
      </Style> 
     </DataGrid.ColumnHeaderStyle>   
     <DataGrid.Columns>     
      <DataGridTextColumn Header="Server1"/> 
      <DataGridTextColumn Header="Server2"/> 
      <DataGridTextColumn Header="Server3"/> 
      <DataGridTextColumn Header="Server4"/> 
      <DataGridTextColumn Header="Server5"/>     
     </DataGrid.Columns> 
    </DataGrid> 

輸出

Matrix Output

我要評估在datagridcell布爾表達式。 爲每個X和相應的Y軸,我有布爾表達式進行評估。

,比如我有表達的對服務器的列表是它的功能就是這樣,

(行,列)

(0,0) - Expression is ((True && False) || (True && True)) 

(0,1) - Expression is ((True && True) && (True || false)) 

等..

如何插入這些表達式放入datagridcells中?好心幫助

回答

0

如果您想通過觸發器實現它,最簡單的方法是爲Datagrid的單元格定義一個自定義dataTemplate,並在該數據模板中定義您的觸發器。

這樣觸發器將應用於網格的所有單元格,而無需瀏覽它們。

+0

我的意思是觸發器是用於紅/綠色動畫。但我的問題是如何訪問datagrid單元格,以便我可以在相應的X和Y行/列中使用我的布爾表達式 – user1221765