Togglebutton を 16 回動的に生成する必要がある WPF に取り組んでいます。このトグルボタンを 16 回書き留めて、個別のボタン クリック コマンドを用意すると効率が悪くなります。
XAML:
<Togglebutton Height="14" Command="{Binding TogglebuttonGen}" Margin="0" Name="checkBox1" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Center" />
理想的には、それらを 16 回生成し、次のようにビューモデル クラスに共通のメソッドを 1 つ持たせたいと考えています。
private ICommand mTogglebuttonGen;
public ICommand TogglebuttonGen
{
get
{
if (mTogglebuttonGen == null)
mTogglebuttonGen = new DelegateCommand(new Action(mTogglebuttonGenExecuted), new Func<bool>(mTogglebuttonGenCanExecute));
return mTogglebuttonGen;
}
set
{
mTogglebuttonGen = value;
}
}
public bool mTogglebuttonGenCanExecute()
{
return true;
}
public void mTogglebuttonGenExecuted(some INDEX parameter which gives me selected Togglebutton)
{
// Have a common method here which performs operation on each Togglebutton click based on INDEX which determines which Togglebutton I have selected
}
次のようにC++アプリでそれを行いました:
for(int j = 0; j < 16; j ++)
{
m_buttonActiveChannels[j] = new ToggleButton();
addAndMakeVisible(m_buttonActiveChannels[j]);
m_buttonActiveChannels[j]->addButtonListener(this);
}
//Checking which Togglebutton is clicked
unsigned bit = 0x8000;
for(int i = 15; i >= 0; i--)
{
if(0 != (value & bit)) //Value has some hardcoded data
{
m_buttonActiveChannels[i]->setToggleState(true);
}
else
{
m_buttonActiveChannels[i]->setToggleState(false);
}
bit >>= 1;
}
したがって、これは16回生成され、に基づいて操作を実行する1つのメソッドがありますindex i
。
どうすれば私のwpfアプリでそれを達成できますか? :)