2 つのラジオ ボタン (オプション 1とオプション 2 )を含むスタック パネルがあります。ユーザーがオプション 2 を選択すると、ユーザーがオプション 2 に関する詳細を入力できるテキストボックスがアクティブになります。
私は2つの解決策を思いつきましたが、どれもまさに私が望んでいるものではありません. これは彼らがどのように見えるかです:
解決策 1
ソリューション #1 の XAML コードは非常に単純で、結果は非常に明白です。
<StackPanel Grid.Row="7" Grid.Column="1">
<RadioButton>Option 1</RadioButton>
<RadioButton>Option 2:</RadioButton>
<TextBox>Some Text that details option 2</TextBox>
</StackPanel>
ここで良いのは、テキスト ボックスが幅全体を使用することです。それにもかかわらず、テキストボックスはオプション 2 の隣に配置する必要があるため、それは私が望んでいたことではありません。
解決策 2
次のステップは、RadioButton タグにグリッドを作成することでした。これにより、テキストボックスを適切な位置に配置できましたが、幅が 100% まで拡大されなくなりました。
コードは次のようになります。
<StackPanel Grid.Row="8" Grid.Column="1">
<RadioButton>Option 1</RadioButton>
<RadioButton>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="130*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" >Option 2:</TextBlock>
<TextBox Grid.Column="1" Margin="10,0,0,0">Some Text that details option 2</TextBox>
</Grid>
</RadioButton>
</StackPanel>
これがかなり過剰に設計されたソリューションのように見えるという点に加えて、質問はここにあります:ラジオ ボタン エントリ内のグリッドの幅を 100% に設定する方法は?
同様の質問がここで尋ねられました ( WPF で幅を 100% に設定する方法) が、ItemContainerStyle
プロパティを使用してもラジオボタンでは機能しません。
私の目には、はるかに簡単な (または少なくとも機能する) 解決策があるに違いありません。誰でも助けることができますか?