在Gridview中单击按钮禁用其他按钮

时间:2011-11-10 21:10:05

标签: c# silverlight xaml button datagrid

我正在创建一个Windows Gadget,它在我的Flyout中包含一个Gridview。当用户点击弹出窗口中的按钮时,我希望它禁用该行中的其余按钮,我的xaml代码如下:

<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>

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

1 个答案:

答案 0 :(得分:0)

我唯一能想到的是你在viewmodel上有SelectedID并通过转换器将按钮的IsEnabled属性绑定到列表中。这将检查元素的ID是否是所选ID。如果没有,则返回false以禁用该按钮。

如果没有选择任何内容,您需要检查并返回true以启用所有按钮。