我正在使用WPF並試圖在選擇ListView的某個項目時更改Enabled狀態,或者換句話說,如何觸發Enabled我們選擇任何ListViewItem時的按鈕狀態?當ListView的SelectedItem從null更改並執行相反操作時啓用按鈕
我試圖做與另一個按鈕,或換句話說相反的事情...我可以更改SelectedItem屬性從ListView爲null當我點擊其他按鈕,如果我使用命令?怎麼樣?
在此先感謝!
我正在使用WPF並試圖在選擇ListView的某個項目時更改Enabled狀態,或者換句話說,如何觸發Enabled我們選擇任何ListViewItem時的按鈕狀態?當ListView的SelectedItem從null更改並執行相反操作時啓用按鈕
我試圖做與另一個按鈕,或換句話說相反的事情...我可以更改SelectedItem屬性從ListView爲null當我點擊其他按鈕,如果我使用命令?怎麼樣?
在此先感謝!
您可以使用DataTrigger
在空值時將其禁用。
例如(ListView
被任命爲lv
)
<Button Content="Lorem Ipsum">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem, ElementName=lv}"
Value="{x:Null}">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
或者你可以在IsEnabled
屬性直接綁定,並添加Converter
到返回各自的布爾綁定。
例以明確的選擇:
<Button Content="!">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="lv"
Storyboard.TargetProperty="SelectedItem">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Null}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
你能幫助另一件事嗎?如果我們有另一個按鈕誰被啓用,即使SelectedItem不爲null,並且我們正在使用Commands,當我們點擊按鈕時,SelectedItem屬性會觸發爲null,這是可能的嗎? – Miguel
@Miguel:您可以將一個'EventTrigger'連接到'Button.Click',並使用一個'Storyboard'和一個['ObjectAnimationUsingKeyFrames'](http://msdn.microsoft.com/zh-cn/library/system .windows.media.animation.objectanimationusingkeyframes.aspx)將單幀動畫製作爲'null'。 –
您應該尋找更徹底,或者至少更注重當您試圖問一個問題正在被提出的相關問題,我認爲你的問題已經被許多類似的人所覆蓋。 (例如「相關」堆棧中的第一個) –
將你的問題變成兩個很可能已被回答的問題,但不會使它更好。此外,你應該試着堅持一個問題... –