0

WPF GUI があり、ディスクからレコードをロードしています。それらをロードするとき、ロードされた値に従ってラジオボタンを設定する必要があります。

これは簡単ですが、動作させることができません - 必要なコードを知っている人はいますか?

ボタンは次のとおりです。

<RadioButton GroupName="Membership" Content="Probationary" Height="16" HorizontalAlignment="Left" Margin="106,194,0,0" Name="RProbationary" VerticalAlignment="Top" IsChecked="True" Checked="RProbationary_Checked" />

<RadioButton GroupName="Membership" Content="Full" Height="16" HorizontalAlignment="Right" Margin="0,195,90,0" Name="RFull" VerticalAlignment="Top" Checked="RFull_Checked" DataContext="{Binding}" />

それらを設定するコードは次のとおりです。

 private void Window_Initialized(object sender, EventArgs e)
 {
    if (_name.Length != 0)
    {
        // blah blah lots of awesome code
        // here is where we have the required value as a string which needs to be reflected
        // on the GUI as a checked radio button
    }
 }
4

1 に答える 1

0

次のように xaml を変更します。

<RadioButton GroupName="Membership" Content="Probationary" Height="16" HorizontalAlignment="Left" Name="RProbationary" VerticalAlignment="Top" IsChecked="True" />

    <RadioButton GroupName="Membership" Content="Full" Height="16" HorizontalAlignment="Right" Name="RFull" VerticalAlignment="Top" IsChecked="{Binding RFull_Checked}" />

次のように C# コードを変更します。

public bool RFull_Checked
    {
        get { return (bool)GetValue(RFull_CheckedProperty); }
        set { SetValue(RFull_CheckedProperty, value); }
    }

    // Using a DependencyProperty as the backing store for RFull_Checked.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty RFull_CheckedProperty =
        DependencyProperty.Register("RFull_Checked", typeof(bool), typeof(MainWindow), new PropertyMetadata(false));


    public MainWindow()
    {
        InitializeComponent();
        DataContext = this;
    }
    string _name = "bla";
    private void Window_Initialized(object sender, EventArgs e)
    {
        if (_name.Length != 0)
        {
           RFull_Checked = true;
        }
    }
于 2013-06-07T07:35:19.233 に答える