私は C++ 開発者で、最近 C# に移行しました。wpf アプリで MVVM パターンを使用しています。私はラジオボタンの動的生成に取り組んでいます。要件は非常にシンプルです。一度に 1 つのラジオボタンのみがチェックされるように、24 個のラジオボタンを生成する必要があります。コードは次のとおりです。
XAML:
<Grid Grid.Row="1">
<GroupBox Header="Daughter Cards" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="220" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<RadioButton Content="{Binding SlotButtons}" Name="SLotButtons" />
</Grid>
</Grid>
</GroupBox>
</Grid>
上記で説明したように、Grid.Column="0"
24個のラジオボタンを生成したいと考えています。
ビューモデル:
// Description of SlotButtons
private string _SlotButtons;
public string SlotButtons
{
get
{
return _SlotButtons;
}
set
{
_SlotButtons = value;
OnPropertyChanged("SlotButtons");
}
}
//For RadioButton Click
private ICommand mSlotCommand;
public ICommand SlotCommand
{
get
{
if (mSlotCommand == null)
mSlotCommand = new DelegateCommand(new Action(mSlotCommandExecuted), new Func<bool>(mSlotCommandCanExecute));
return mSlotCommand;
}
set
{
mSlotCommand = value;
}
}
public bool mSlotCommandCanExecute()
{
return true;
}
public void mSlotCommandExecuted()
{
// Logic to implement on a specific radiobutton click using Index
}
次のように、C++ アプリでこれを行いました。
for(slot = 0; slot < 24; slot++)
{
m_slotButton[slot] = new ToggleButton(String(int(slot)) + String(": None"));
m_slotButton[slot]->addButtonListener(this); // make this panel grab the button press
addAndMakeVisible(m_slotButton[slot]);
}
これが私が達成したいことです:
Content = 0: None
までのコンテンツを含む 24 個の RadioButton を生成します23: None
。- ラジオボタンは、行を 3 列に分割し、各列に垂直方向に 8 つのラジオボタンを追加する方法で生成する必要があります。
- いつでも、1 つのラジオボタンのみをオンにする必要があり、他のボタンはオンにしないでください。それぞれのインデックスを使用してすべてのボタンを処理する 1 つのクリック コマンドのみが必要です。
助けてください :)