我想禁用從xaml的按鈕,如果在datagrid中沒有選中,但它不工作,我不明白爲什麼。按鈕禁用不工作wpf
這裏是我的XAML代碼:
<DataGrid IsReadOnly="True" x:Name="datagrid" ItemsSource="
{Binding Path=Notes, UpdateSourceTrigger=PropertyChanged}"
IsSynchronizedWithCurrentItem="True" HorizontalAlignment="Left"
Margin="0,39,0,0" VerticalAlignment="Top" Height="175" Width="300" AutoGenerateColumns="False">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="FontSize" Value="14"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Title" Binding="{Binding Title}"/>
<DataGridTextColumn Header="Content" Binding="{Binding Content}"/>
</DataGrid.Columns>
</DataGrid>
<Button Content="Edit" HorizontalAlignment="Left" Margin="218,9,0,0" VerticalAlignment="Top" Width="70" Height="25"
Command="{Binding editCommand}">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=datagrid, Path=SelectedItem}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource multiCloner}">
<Binding Path="SelectedItem" ElementName="datagrid"/>
</MultiBinding>
</Button.CommandParameter>
</Button>
如果有人可以幫助我將不勝感激。
編輯:我使用MVVM,所以沒有代碼隱藏。 顯然,datagrid中的第一項始終是自動選中的,這就是爲什麼按鈕始終處於啓用狀態,但我仍然不知道我做了什麼,從而始終選擇了第一項。
你能更具體地瞭解它是如何「不工作」?你確認dataGrid.SelectedItem實際上是空的嗎? –
好吧,我只是檢查它,即使我沒有點擊任何東西,第一個項目自動總是選擇一個。有沒有辦法改變它? – xena12