2017-03-23 57 views
0

當我需要將枚舉綁定到RadioButton時,請參考How to bind RadioButtons to an enum?問題的更好答案。[.net 4.5]如何將枚舉綁定到RadioButton?爲什麼x:static不支持enum?

枚舉代碼:

public enum SelectionMode 
{ 
    FixedMode = 0, 
    FreeMode = 1 
} 

/// <summary> 
/// MainWindow.xaml 
/// </summary> 
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 
} 

XAML代碼:

<RadioButton Content="FreeMode" IsChecked="{Binding ChannelSelectionMode, Converter={StaticResource enumToBooleanConverter}, ConverterParameter={x:Static local:SelectionMode.FreeMode}}" ></RadioButton> 

我這有例外:

XAML例外:namaspace沒有找到的SelectionMode,枚舉 的SelectionMode在命名空間中,x:Type Local:SelectionMode可以是 的工作。

我試着這樣說:

  1. 移動枚舉SelectionModeViewmodels的命名空間。
  2. 將枚舉SelectionMode轉換爲一個Viewmodel類。

但都不行。 請給我一些建議,我很瘋狂。

+0

哪裏是你的轉換器代碼? –

回答

0

您分享的文章有轉換器代碼,或者您也可以在這篇文章中找到。 Binding radio button to enum property

還需要添加另一個單選按鈕,這樣的事情

<RadioButton Content="FixedMode" IsChecked="{Binding ChannelSelectionMode, Converter={StaticResource enumToBooleanConverter}, ConverterParameter={x:Static local:SelectionMode.FixedMode}}" ></RadioButton> 
<RadioButton Content="FreeMode" IsChecked="{Binding ChannelSelectionMode, Converter={StaticResource enumToBooleanConverter}, ConverterParameter={x:Static local:SelectionMode.FreeMode}}" ></RadioButton> 
+0

感謝您的回答,在我重建一次的時候。它的工作原理,呃....大多數時間重新啓動VS將是一個好方法。 [大笑和哭泣] –

0

如果你有問題,不要着急,重新啓動VS,離開一會兒,然後回來