Не удается получить элементы управления из GroupBox - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь получить значение IsChecked от всех флажков в групповом поле.Я продолжаю искать, и все, кажется, указывают на yourControl.Controls.OfType () .... Проблема в том, что я не могу получить контроль над своим групповым ящиком.Я получаю сообщение об ошибке «GroupBox не содержит определения для элементов управления» всякий раз, когда я пытаюсь его кодировать.

Я очень новичок в этом, так что извините, если мне ответили где-то еще, что я посмотрел, и это просто не для меня.Я создаю приложение WPF C # в Visual Studio 2017.

Я включил часть своего xaml

<GroupBox Name="Computers" Header="Computers" HorizontalAlignment="Left" 
Height="315" Margin="21,78,0,0" VerticalAlignment="Top" Width="216">
<CheckBox Name="Training01CB" Content="Training01" 
HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" 
Height="15" Width="78" IsChecked="False"/>
<CheckBox Name="Training02CB" Content="Training02" 
HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" 
Height="15" Width="78" IsChecked="False"/>
</GroupBox>

Я хотел бы сделать что-то вроде этого: foreach (Computers.Controls.OfType (). Проверено) {запустите здесь закрытый код}

1 Ответ

0 голосов
/ 19 сентября 2018

Размещенный вами XAML недействителен и не будет компилироваться.Вы можете установить Content из GroupBox только для одного объекта.

Однако, если вы установите Panel и добавите элементы CheckBox к этому Panel, вы можете перебрать его свойство Children следующим образом:

Panel panel = Computers.Content as Panel;
if (panel != null)
{
    foreach (CheckBox checkBox in panel.Children.OfType<CheckBox>())
    {
        //...
    }
}

XAML:

<GroupBox Name="Computers" Header="Computers">
    <StackPanel>
        <CheckBox Name="Training01CB" Content="Training01" IsChecked="False"/>
        <CheckBox Name="Training02CB" Content="Training02" IsChecked="False"/>
    </StackPanel>
</GroupBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...