WPF: Как сделать “подобный нажатию” флажок?

Я не знаю, существует ли такая функция «массового связывания» (вы могли бы открыть для нее запрос функции, это кажется полезным).

Вы можете связать их отдельно:

var Mine = Backbone.Model.extend({
  initialize: function() {
    var listener = function() { console.log('changed'); };
    this.bind("change:attribute_1", listener);
    this.bind("change:attribute_2", listener);
  }
});

Или вы можете прослушать все изменения (а затем отфильтровать в слушателе):

var Mine = Backbone.Model.extend({
  initialize: function() {
    var listener = function() { console.log('changed'); };
    this.bind("change", listener);
  }
});
9
задан Qwertie 18 June 2009 в 16:38
поделиться

3 ответа

Подойдет ли ToggleButton вашим потребностям? CheckBox является производным от него, поэтому они очень похожи.

13
ответ дан 4 December 2019 в 10:05
поделиться

Я только что начал писать такой же комментарий :)

<ToggleButton Name="tb"  Height="45" Width="45">
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Content" Value="False"/>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Content" Value="True"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

И теперь, как вы хотели, элемент управления флажком:

<CheckBox>
        <CheckBox.Template>
            <ControlTemplate TargetType="CheckBox">
                <ToggleButton x:Name="toggleButton">
                </ToggleButton>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsChecked" Value="True" SourceName="toggleButton">
                        <Setter Property="Content" Value="True"/>
                    </Trigger>
                    <Trigger Property="Content" Value="True">
                        <Setter Property="IsChecked" Value="True"/>
                    </Trigger>
                </ControlTemplate.Triggers>
             </ControlTemplate>
        </CheckBox.Template>
    </CheckBox>
6
ответ дан 4 December 2019 в 10:05
поделиться

Я согласен с тем, что ToggleButton - лучший вариант, но если вы хотите, чтобы ваш контент отображался в вашем примере, попробуйте изменить свое объявление ContentPresenter на это:

<ContentPresenter Content="{TemplateBinding Content}" />
2
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: