【问题标题】:WPF Margin-Property will not update in Control Template TriggerWPF Margin-Property 不会在控件模板触发器中更新
【发布时间】:2021-01-30 23:23:12
【问题描述】:

我有一个自定义窗口样式,因此,我想更改控件模板触发器内控件模板内的网格的边距属性。

<Style x:Key="BaseWindow" TargetType="Window">
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type Window}">
            <Grid x:Name="Grid">
            ....
            </Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="WindowState" Value="Maximized">
                    <Setter TargetName="Grid" Property="Margin" Value="5"/>
                </Trigger>
            /ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>

我已经用网格控件内的其他控件测试了触发器,那里的边距更新了,但网格控件的边距没有。

【问题讨论】:

    标签: c# wpf .net-framework-4.8


    【解决方案1】:

    我不知道问题出在哪里,但我创建了一个示例窗口并且边距正确更改,也许您可​​以找出示例中缺少的内容(也许您没有将样式应用于窗口?):

    <Window x:Class="WpfApp1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="Window1" Height="450" Width="800">
    <Window.Style>
        <Style TargetType="Window">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Window}">
                        <Grid x:Name="Grid" Background="White">
                            <TextBlock TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" Width="200" Height="200" Text="pppp" />
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="WindowState" Value="Maximized">
                                <Setter TargetName="Grid" Property="Margin" Value="45"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Style>
    

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 2019-02-27
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多