2011-04-22 85 views
2

我在WPF中使用了一個ListBox,並且我想僅在實際選擇ListBox中的某個項目時啓用/禁用按鈕。WPF Listbox:HasItemSelected事件是否存在?

問題是我的按鈕做了一個檢索項目名稱的動作,並且自初始化以來沒有選擇任何項目(我想保持這種方式),我得到一個錯誤,因爲我'米空物體進行邏輯...

我真的環顧四周,我無法找到一個=/

一個愉快的一天有=)

+0

一些源代碼會很好 – 2011-04-22 13:50:43

回答

1

做出value converter並綁定按鈕IsEnabled到使用轉換器的ListboxSelectedIndex

public class MyConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
    int ndx = (int)value; 
    if (ndx < 0) return false; 
    return true; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
    return null; 
    } 
} 


<Window.Resources> 
    <my:MyConverter x:Name="MyConverter"/> 
</Window.Resources> 

<ListBox x:Name="MyListBox"></ListBox> 
<Button IsEnabled="{Binding Path=SelectedIndex, ElementName=MyListBox, Converter={StaticResource MyConverter}}"/> 
+0

你能舉個例子嗎?我對價值轉換器不熟悉=/ – 2011-04-22 13:56:23

+0

@FatalBaboon,我也在上面:)也請查看Switch On The Code文章的鏈接。 – 2011-04-22 14:02:08

+0

爲什麼你的答案中有一個組合框?我正在使用一個ListBox。 – 2011-04-22 14:02:22

相關問題