private void MainText_SizeChanged(object sender, SizeChangedEventArgs e)
{
TextBox ChangedTextBox = (TextBox)sender;
if (ChangedTextBox.IsFocused)
{
FocusBorder.Margin = ChangedTextBox.Margin;
FocusBorder.Width = ChangedTextBox.ActualWidth;
FocusBorder.Height = ChangedTextBox.ActualHeight;
}
}------------------
MainText外面套了个border,当MainText改变时border也跟着改变.但实际运行时border大小并没有变化.
请问该如何处理 --wpf
<TextBox x:Name="ChangedTextBox" Text=""/>
</Border
关键是有好多文本框,这个border不一定在这个文本框上.
另外,ChangedTextBox.IsFocused,判断文本框是否获取焦点,我在想在获取焦点状态下如何改变文本框大小,难道是文本框可以拖动改变大小?
FocusBorder.Height = ChangedTextBox.ActualHeight;
执行完后,border的width和height没有变
另外很多个文本框都在这个border内部吗?如果是这样的话,你将无法改变border的大小,因为此时Boder的MinWidth和MinHeight根据内部多个控件的大小已经确定,不能再变小如果你只是想隐藏其他控件,建议使用Trigger来控制多个文本框的显示和隐藏
IF内部语句确实执行了,
我想要的是类似与迅雷7的文本框切换时 border跟随有焦点的那个文本框.并且,我的文本框可以改变大小.我想在改变大小的时候有焦点的文本框外边的border也改变大小
border和textbox在同一个Grid内是可以移动的
移动的是通过动画实现的.改变大小也可以通过动画实现但是太卡,想通过编程的方法直接改为目标位置,大小.