WPF中border问题!小白求教!

zhifeng610 2014-12-19 10:18:54
我现在canvas下面创建一个border,但border属性必须设置高和宽,但当窗口大小变化时布局会发生变化,如何当窗口发生变化时,border随着窗口大小变化?怎么破?求大神指点!!
...全文
447 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
FoolRabbit 2014-12-19
  • 打赏
  • 举报
回复
如果只是给border加边框,将border放在canvas外层即可
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Border BorderThickness="5" BorderBrush="Red">
        <Canvas Background="LightBlue"/>
    </Border>
</Window>
zhifeng610 2014-12-19
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:

XX.UpdateLayout();
其实就是想给canvas加个边框~说的复杂了~
exception92 2014-12-19
  • 打赏
  • 举报
回复

XX.UpdateLayout();
exception92 2014-12-19
  • 打赏
  • 举报
回复
canvas 里放border 有什么用??毫无意义。使用 ViewBox 子控件要设置固定的宽高。
FoolRabbit 2014-12-19
  • 打赏
  • 举报
回复
你想怎么布局,用Canvas的话,窗体大小改变的时候,上面的控件的固定的。 一般都是用Grid布局,窗体大小改变时,控件位置会相应调整。 最好你给个图说明下,现在都不知道你的具体问题是什么。
zhifeng610 2014-12-19
  • 打赏
  • 举报
回复
还有,如何在窗口大小发生变化时重新刷新或重载窗口?
灬浪子灬 2014-12-19
  • 打赏
  • 举报
回复
LayoutUpdated
exception92 2014-12-19
  • 打赏
  • 举报
回复
8楼的不行??不设置 Canvas默认是水平,垂直拉伸的。
zhifeng610 2014-12-19
  • 打赏
  • 举报
回复
引用 10 楼 lk13962517093 的回复:
[quote=引用 7 楼 duanzi_peng 的回复:] [quote=引用 6 楼 zhifeng610 的回复:] [quote=引用 5 楼 lk13962517093 的回复:] 如果只是给border加边框,将border放在canvas外层即可
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Border BorderThickness="5" BorderBrush="Red">
        <Canvas Background="LightBlue"/>
    </Border>
</Window>
这我知道,我这这么 写的,但只显示一个点~[/quote] Canvas 设置宽高[/quote] 把你的布局发出来[/quote] 能不设置吗?要不主窗口一变,布局又发生了变化
FoolRabbit 2014-12-19
  • 打赏
  • 举报
回复
引用 7 楼 duanzi_peng 的回复:
[quote=引用 6 楼 zhifeng610 的回复:] [quote=引用 5 楼 lk13962517093 的回复:] 如果只是给border加边框,将border放在canvas外层即可
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Border BorderThickness="5" BorderBrush="Red">
        <Canvas Background="LightBlue"/>
    </Border>
</Window>
这我知道,我这这么 写的,但只显示一个点~[/quote] Canvas 设置宽高[/quote] 把你的布局发出来
糊泥巴 2014-12-19
  • 打赏
  • 举报
回复
这个是一个wpf窗体
糊泥巴 2014-12-19
  • 打赏
  • 举报
回复


难道不是这样?
exception92 2014-12-19
  • 打赏
  • 举报
回复
引用 6 楼 zhifeng610 的回复:
[quote=引用 5 楼 lk13962517093 的回复:] 如果只是给border加边框,将border放在canvas外层即可
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Border BorderThickness="5" BorderBrush="Red">
        <Canvas Background="LightBlue"/>
    </Border>
</Window>
这我知道,我这这么 写的,但只显示一个点~[/quote] Canvas 设置宽高
zhifeng610 2014-12-19
  • 打赏
  • 举报
回复
引用 5 楼 lk13962517093 的回复:
如果只是给border加边框,将border放在canvas外层即可
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Border BorderThickness="5" BorderBrush="Red">
        <Canvas Background="LightBlue"/>
    </Border>
</Window>
这我知道,我这这么 写的,但只显示一个点~

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧