我是一名 C++ 开发人员,目前正在开发一个 WPF 应用程序,我必须在其中动态生成 4 个单选按钮,并且每个按钮都有不同的标题名称。我正在遵循 MVVM 模式。
<Grid Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<RadioButton Grid.Row="0" Content="{Binding RadioBase}" IsChecked="{Binding BaseCheck}" Height="15" Width="80" HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Center" />
<Button Grid.Row="1" Content="Refresh Regs" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0" Width="100" Height="25" />
</Grid>
现在,如果您注意到我的 XAMl,我的Grid.Row="0"
. 理想情况下,我想生成它 4 次并为其设置绑定Content
,IsChecked
这样我就给了我 4 个不同的Content
.
视图模型:
private bool sBaseCheck;
public bool BaseCheck
{
get { return this.sBaseCheck; }
set
{
this.sBaseCheck= value;
this.OnPropertyChanged("BaseCheck");
}
}
private string _RadioBase;
public string RadioBase
{
get
{
return _RadioBase;
}
set
{
_RadioBase= value;
OnPropertyChanged("RadioBase");
}
}
我在我的 C++ 应用程序中这样做了,如下所示:
for(i = 0; i < 4; i++)
{
m_registerBase[i] = new ToggleButton(("Base 0x")+String::toHexString(i * 0x40));
addAndMakeVisible(m_registerBase[i]);
m_registerBase[i]->addButtonListener(this);
}
如果您注意到这里,它会创建 4 次并有一个 buttonclick 事件。它创建标题如下:
- 按钮 1 = Base 0x0(因为 i = 0 并且 toHexString 将 0x0 转换为 0)
- 按钮 2 = Base 0x40(因为 i = 1 并且 toHexString 将 0x40 转换为 40)
- 按钮 3 = Base 0x80(因为 i = 2 并且 toHexString 将 0x80 转换为 80)
- 按钮 4 = Base 0xc0(因为 i = 3 并且 toHexString 将 0xc0 转换为 c0)
如何在我的 WPF 应用程序中实现这样的目标?:) 如果你们帮我解决这个问题,我将不胜感激?:)
谢谢