флажок Windows Phone 7 изображения - PullRequest
0 голосов
/ 12 июля 2011

Я пытаюсь создать простой флажок, который является изображением вместо классического.Мне удалось создать элемент управления и назначить ему другое поведение, но я не могу заставить его работать при проверке / снятии отметки.Вот код:

<UserControl.Resources>
        <ControlTemplate x:Key="CheckboxImageTemplate" TargetType="CheckBox">
            <Image Name="imgTreble" MinWidth="100" Source="Images/treble_unchecked.png"/>

        </ControlTemplate>
    </UserControl.Resources>


<StackPanel x:Name="LayoutRoot" Background="{StaticResource PhoneForegroundBrush}">
        <CheckBox Height="72" HorizontalAlignment="Left" x:Name="checkBox1" Background="White" VerticalAlignment="Top" Template="{StaticResource CheckboxImageTemplate}" >
            <Custom:Interaction.Triggers>
                <Custom:EventTrigger EventName="Checked">
                    <ic:ChangePropertyAction PropertyName="Source" TargetName="imgTreble" Value="Images/treble_checked.png"/>
                </Custom:EventTrigger>
                <Custom:EventTrigger EventName="Unchecked">
                    <ic:ChangePropertyAction PropertyName="Source" TargetName="imgTreble" Value="Images/treble_unchecked.png"/>
                </Custom:EventTrigger>
            </Custom:Interaction.Triggers>
        </CheckBox>
    </StackPanel>

Я думаю, что проблема в том, что я пытаюсь изменить свойство одного из элементов элемента управления (в данном случае, флажка) элемента шаблона (изображение).Вероятно, есть проблема с TargetName, и я должен по-другому ссылаться на то, как сказать EventTrigger искать изображение и менять его источник, но я не знаю, как оценивается любая помощь

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Для этого вам нужно использовать VisualStates в ControlTemplate вашего флажка.

Здесь - очень хорошая статья, которая настраивает флажок в качестве кнопки переключения.

WP7, работа с VisualStates: как сделать ToggleSwitch из CheckBox

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

0 голосов
/ 12 июля 2011

Вместо того, чтобы сделать это, вы должны повторно установить (установить собственный стиль) флажок для достижения желаемого результата.

В пользовательском стиле используйте «Проверено» VisualState, чтобы скрыть и отобразить соответствующие изображения.

...