我只需要在数据绑定或按钮点击时禁用gridview按钮,因为我只需要为现有记录禁用该按钮,并且当用户添加新记录时需要激活我的网格按钮。
这是我的XAML代码,
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="grdBtnAdd" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20" >
<Button.Template>
<ControlTemplate>
<Border Style="{StaticResource borstyle}" BorderBrush="#282828" BorderThickness=".5" CornerRadius="3" Name="bor" >
<Image Width="20" Height="18" Source="/Images\plus1.png"></Image>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
请帮帮我。我找到了如何在单击网格按钮后禁用按钮。我需要一种方法来禁用网格按钮。
答案 0 :(得分:0)
如果我理解正确的问题,则以下内容应该有效:
将按钮IsEnabled属性绑定到viewModel中的属性。
<Button Name="grdBtnAdd" IsEnabled="{Binding IsNewRecordsAvailable}" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20">
...
</Button>
将viewModel设置为views'dataContext:
Sub New()
Me.Datacontext = new viewModel
End Sub
viewModel将实现INotifyPropertyChanged,属性将如下所示:
Private m_isNewRecordsAvailable As Boolean
Public Property IsNewRecordsAvailable() As Boolean
Get
Return m_isNewRecordsAvailable
End Get
Set(ByVal value As Boolean)
m_isNewRecordsAvailable = value
NotifyPropertyChanged("IsNewRecordsAvailable")
End Set
End Property
现在,当您想启用或禁用该按钮时,只需将IsNewRecordsAvailable设置为true或false。
以下是一些例子:
http://msdn.microsoft.com/en-us/library/ms229614.aspx http://www.codeproject.com/KB/cs/BindBetterINotifyProperty.aspx