2012-04-19 63 views
0

我有一个窗口具有动态宽度和高度以及用户控件作为内容。动态大小的窗口在加载后保持其当前大小

基于我的视图模型中的几个条件,我的用户控件的几个控件是可见的或不可见的。

使用SizeToContent.WidthAndHeight很好WPF使我的窗口显示完美的正确尺寸,以适应根据我的用户控件的Loaded事件期间生效的绑定必须可见的所有内容。

我的问题是,我有一个TextBox没有定义的宽度,如果用户输入太多的字符,它会迫使我的窗口的宽度增长,我不希望这样!

有没有办法避免这种情况,而不写入大量的代码,并且不失去功能,如果用户调整窗口大小,那里的所有内容都会自动更改以适应新的大小?

我想要的是每个控件(或窗口本身)都将保持其当前大小,并且不会超出当前窗口的范围。

我希望我明确了我的问题,并提前致谢!

回答

0

我想你正在寻找TextBox的MaxWidth属性,尝试将它绑定到Textbox-es父控件Width,然后如果你输入一个更长的文本,那么它不应该变大。

+0

谢谢你的回答。我不能这样做,因为TextBox的宽度不等于其父项的宽度。它之前有一个TextBlock。 – Dummy01 2012-04-19 11:41:15

+0

如果你想绑定它的控件ActualWidht? – BigL 2012-04-19 12:11:04

+0

只要窗口的SizeToContent设置为WindowAndHeight,TextBox就会继续增长。我会稍后发布一个答案,我如何部分解决它,但我正在寻找一个更优雅的答案......无论如何 – Dummy01 2012-04-19 12:22:33