2013-02-15 69 views
1

在我的自定义控件中,我有2个文本框。当它们中的任何一个都集中时,它稍微改变它的风格......它失去了一点边界。我想阻止这种行为,这似乎是默认的文本框行为。现在防止WPF文本框在聚焦时改变外观

,我认为它的东西做的风格,可能与文本模板

<Setter Property="FocusVisualStyle" Value="{x:Null}"/> 

不过的一部分,反正是有防止这种情况?

回答

1

@Daniel您必须修改Focussed State StoryBoard。为了编辑你的TextBox Template改变状态。如果你有Expression Blend这对你来说很容易。

+0

我还没有表达式融合,但看着默认的TextBox ControlTemplate我找不到焦点状态的故事板......我想我真的很想念这里至关重要的东西吗?这是TextBoxBase中的故事板吗?或者我只是设置一个新的?在任何情况下,感谢您的回答到目前为止 – Daniel 2013-02-15 10:00:26

+1

这里是关于在哪里/如何找到默认主题内容的问题:http://stackoverflow.com/questions/3548319/where-can-i-find-the-default-wpf -control-templates – 2013-02-18 20:06:23

+0

好吧,我看到它是如何工作的,是否有任何简单的方法去除焦点状态故事板?或者我覆盖它?所以,我在http://msdn.microsoft.com/en-us/library/ms752068(v=vs.100).aspx中看到了TextBox控件的可视状态,我只是再次定义了Foccussed状态? (对不起,如果这个问题可能显示缺乏WPF知识) – Daniel 2013-02-19 07:40:36

0

你必须编辑默认TextBox ControlTemplate,你可以找到here

0
  1. 您需要自定义控件的控件模板。
  2. 在那里的资源中,您需要设置所有文本框目标类型的样式。这样,你不会影响常规文本框。

如果您分享一些我们可以查看/修改以实现所需内容的代码将会很有帮助。