我需要能夠「凍結」列表框選擇,直到我清除用戶選擇的項目。
我似乎無法找到任何示例,並需要在正確的方向一個小指針。
我在MVVM中,所以我可能想要觸發一個RelayCommand,並且只在SelectedIndex爲-1時啓用它。已凍結選擇列表框項目
我該怎麼做?
我需要能夠「凍結」列表框選擇,直到我清除用戶選擇的項目。
我似乎無法找到任何示例,並需要在正確的方向一個小指針。
我在MVVM中,所以我可能想要觸發一個RelayCommand,並且只在SelectedIndex爲-1時啓用它。已凍結選擇列表框項目
我該怎麼做?
你可以嘗試使用啓用歡迎使用屬性,如:
<Listbox Enabled=False />
如果你願意,你可以在你的代碼bingint這個屬性與另一個。
Property IsListBoxEnable As Boolean
<Listbox Enabled="{Binding IsListBoxEnable, Mode=TwoWay}" />
並且在您的代碼中,您只需修改IsLisBoxEnable的值。要做到這一點
一種方法是綁定的IsEnabled到SelectedIndex的數據,然後有一個返回true
只有SelectedIndex的是-1
<Listbox IsEnabled={Binding RelativeSource={RelativeSource Self},
Path=SelectedIndex, Converter=YourConverter} />
欲瞭解更多信息編寫YourConverter
看到this page
在轉換器你viewmodel你可以有一個屬性爲SelectedIndex,然後將其設置爲-1,並且應該再次啓用列表框
如果您不想完全禁用列表框,則可以使用datavalidation在某些情況下顯示錯誤消息,here is a good place to get started
您的意思是防止用戶選擇其他內容或阻止用戶使用列表框所有? (灰掉) – aL3891
阻止用戶選擇其他內容。可能會拋出一個消息框或一些東西,這樣用戶可以被指示按下刷新按鈕來清除選擇並且再次改變選擇。 – Rachael