WPF тянут, Граничат с MouseOver

У меня есть Приложение WPF, где я пытаюсь сделать близкую кнопку как изображение. Я пытаюсь потянуть границу или иметь границу, обнаруживаются на мыши... Но я, может казаться, не заставляю его работать. Я попробовал как 6 различных методов выполнения так... Изображения, границы с изображениями, кистями, ect.

Я использую следующий код в данный момент:

<Canvas Name="cMin" Height="16" Width="16"
        Grid.Column="1" Grid.Row="1">
    <Canvas.Background>
        <ImageBrush ImageSource="_.png" Stretch="None" />
    </Canvas.Background>
    <Border BorderBrush="Transparent" BorderThickness="1" Background="Transparent" 
            CornerRadius="0" Height="18" Width="18">
         <Border.Style>
            <Style TargetType="Border">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="BorderBrush" Value="LightBlue" />
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="False">
                        <Setter Property="BorderBrush" Value="Transparent" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
    </Border>
</Canvas>

Любая справка ценилась бы, Спасибо!

6
задан tcables 15 June 2010 в 15:30
поделиться

1 ответ

Проблема в том, что ваше локальное значение для свойства BorderBrush имеет приоритет над вашим Style Trigger. В этой статье MSDN описывается, как решается проблема эффективного значения. По сути, удалите локальное значение из элемента Border, и он должен работать. Если вам нужно указать свойство, вы можете сделать это в Setter в Style. Также не нужен второй Trigger, так как значение вернется к исходному, когда свойство снова станет ложным:

<Border BorderThickness="1" Background="Transparent" 
        CornerRadius="0" Height="18" Width="18">
     <Border.Style>
        <Style TargetType="Border">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="BorderBrush" Value="LightBlue" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
</Border>
11
ответ дан 9 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

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