2011-11-10 112 views
1

我正在创建一个Windows小工具,它包含我的Flyout中的Gridview。当用户点击在弹出的一个按钮,我希望它禁用行中的按钮的休息,我xaml代码如下:GridView中的单击按钮禁用其他按钮

<sdk:DataGrid AutoGenerateColumns="False" Height="245" HorizontalAlignment="Left" Margin="12,43,0,0" Name="dataIssue" VerticalAlignment="Top" Width="512"> 
    <sdk:DataGrid.Columns> 
     <sdk:DataGridTextColumn Binding="{Binding Path=ID}" Header="ID"/> 
     <sdk:DataGridTextColumn Binding="{Binding Path=subject}" Header="Subject"/> 
     <sdk:DataGridTextColumn Binding="{Binding Path=project_ID}" Header="Project ID"/> 
     <sdk:DataGridTemplateColumn Width="80" Header="Timer"> 
      <sdk:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Content="Start" Click="Timer_Click"></Button> 
       </DataTemplate> 
      </sdk:DataGridTemplateColumn.CellTemplate> 
     </sdk:DataGridTemplateColumn> 
    </sdk:DataGrid.Columns> 
</sdk:DataGrid> 

任何帮助,将不胜感激,谢谢!

回答

0

我能想到的唯一的事情就是你在视图模型上有一个SelectedID,并通过转换器将按钮的IsEnabled属性绑定到列表中。这将检查元素的ID是否是选定的ID。如果不是,则返回false以禁用按钮。

您需要检查是否没有选择,并返回true启用所有按钮。

+0

克里斯,你可以扩大这一点吗?如果可能的话给一个代码示例? '如果(this.IsEnabled == TRUE)'' {'' = IsTimer假;'' }' '如果(IsTimer == FALSE)'' = this.IsEnabled假;' 的上面的代码在我的Timer_Click方法中,这是正确的吗? –

+0

不用担心,决定与这个大声笑去感谢不同的路线,谢谢你的帮助! –

相关问题