سؤال

وأود أن جعل خانة الاختيار التي تبدو تماما مثل زر واحدة. بلدي محاولة ضعيفة الأولية لا تعمل على الإطلاق.

<CheckBox x:Name="test">
    Testing!
    <CheckBox.Template>
        <ControlTemplate>
            <Button>
                <ContentPresenter/>
            </Button>
        </ControlTemplate>
    </CheckBox.Template>
</CheckBox>

ووContentPresenter لا يعمل (زر فارغ) وعند النقر على الزر، الخاصية IsChecked لا تبديل. أيضا، وأنا لا أعرف كيف لجعل زر نظرة دفعت عندما IsChecked غير حقيقية.

هل كانت مفيدة؟

المحلول

ToggleButton دعوى احتياجاتك؟ خانة الاختيار يستمد منه، وبحيث تكون مشابهة جدا.

نصائح أخرى

ولقد بدأت للتو لإرسال نفس التعليق:)

<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>

وأوافق على أن ToggleButton هو الطريق للذهاب، ولكن إذا كنت تريد المحتوى الخاص بك لتظهر في المثال الخاص بك، حاول تغيير الإعلان ContentPresenter لهذا:

<ContentPresenter Content="{TemplateBinding Content}" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top