Флажок wpf установлен при нажатии вне метки - PullRequest
6 голосов
/ 05 декабря 2010

Кажется, ширина моего флажка растягивается до размеров ячейки сетки, в которой он содержится.Так что если вы отметите путь справа от метки флажка, он все равно переключит значение.Есть ли способ сделать флажок включенным только при щелчке метки или флажка без жесткого определения значения ширины для флажка?

Ответы [ 3 ]

4 голосов
/ 05 декабря 2010

Если для ширины определения столбца установлено значение «Авто», размер столбца будет изменен в соответствии с CheckBox.

Однако это может привести к разрушению макета.

Альтернативой являетсячтобы обернуть CheckBox в StackPanel.

    <Grid Margin="10,10,10,10" Name="grid1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBlock Text="Hello"/>
        <StackPanel Grid.Column="1" Orientation="Horizontal">
            <CheckBox Content="Click Me"/>
        </StackPanel>
        <Button Grid.Column="2" Content="Press Me"/>
    </Grid>

. Как видно из первого снимка экрана, ограничивающий прямоугольник CheckBox теперь располагается вокруг чека и метки, а неполная ширина столбца, как показано в секундах.

Правильное поведение:
correct behaviour
Неверное поведение:
incorrect behaviour

4 голосов
/ 18 марта 2011

По умолчанию HorizontalAlignment CheckBox Stretch. Попробуйте установить его на Left / Right / Center.

3 голосов
/ 05 декабря 2010

Это может действительно простираться так широко.Попробуйте применить некоторый фон к CheckBox - это покажет вам, насколько он широк в реальностиТакже играйте с HorizontalAlignment.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...