none
窗体最大化时如何变更窗体的Border的Margin? RRS feed

  • 问题

  • 做了一个无边框的窗体,自绘了一个border,Margin为10,想让窗体最大化的时候,Margin设置为0,该怎么做?
    • 已编辑 Lacuz 2012年11月19日 8:08
    2012年11月19日 7:31

答案

  • 自己用触发器解决了

    <ControlTemplate.Triggers>
                            <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=WindowState}" 
                                         Value="Maximized">
                                <Setter TargetName="windowBorder" 
                                        Property="Margin" 
                                        Value="0" />
                            </DataTrigger>
                        </ControlTemplate.Triggers>

    • 已标记为答案 Lacuz 2012年11月19日 8:36
    2012年11月19日 8:36

全部回复

  • 自己用触发器解决了

    <ControlTemplate.Triggers>
                            <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=WindowState}" 
                                         Value="Maximized">
                                <Setter TargetName="windowBorder" 
                                        Property="Margin" 
                                        Value="0" />
                            </DataTrigger>
                        </ControlTemplate.Triggers>

    • 已标记为答案 Lacuz 2012年11月19日 8:36
    2012年11月19日 8:36
  • 这是个很好的解决方案

    另外,你也可以用StateChanged事件,比如eventtrgger,或者在handler里面自己写代码


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年11月20日 8:57
    版主
  • 后台用StateChanged,怎么设置前台border的属性呢?
    2012年11月22日 6:02