簡體   English   中英

在WPF項目的XAML內的GotFocus事件上更改用戶控件邊框

[英]Change usercontrol border on its GotFocus-event within the XAML of a WPF-Project

我有一個UserControl,其中包含一個包含邊框的網格:

<UserControl Focusable="True" Name="uctrlScenePanel">
    <Grid MouseDown="Grid_MouseDown">
      <Border BorderThickness="0" BorderBrush="Black">
      </Border>
    </Grid>

現在,一旦用戶控件“ uctrlScenePanel”獲得了Focus,我現在就想更改Border-Thickness,但是我無法使其正常工作,而且我也沒有真正找到有用的Eventtrigger-Tutorials,因為我對WPF還是很陌生。

編輯:d.moncada的回答非常有幫助! 我的xaml現在看起來像這樣:

       <Border BorderBrush="Black">
            <Border.Style>
                <Style TargetType="Border">
                    <Setter Property="BorderThickness" Value="0" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsKeyboardFocusWithin, ElementName=uctrlScenePanel}" Value="true">
                            <Setter Property="BorderThickness" Value="2" />
                            <Setter Property="Background" Value="Green" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding IsKeyboardFocusWithin, ElementName=uctrlScenePanel}" Value="false">
                            <Setter Property="BorderThickness" Value="0" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Border.Style>
        </Border>

我仍然有問題,因為將用戶控件的焦點表現得很奇怪,但這就是另一個故事...這個已經為我解決了,謝謝上課了;)

您可以使用DataTrigger綁定到UserControl IsFocused屬性。

<UserControl Focusable="True" x:Name="uctrlScenePanel">
    <Grid MouseDown="Grid_MouseDown">
      <Border BorderBrush="Black">
        <Broder.Style>
            <Style TargetType="Border">
                <Setter Property="BorderThickness" Value="1"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsFocused, ElementName=uctrlScenePanel}" Value="True">
                        <Setter Property="BorderThickness" Value="0"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
      </Border>
    </Grid>
</UserControl>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM