|
|
1
0
资源字典听起来有点奇怪。资源字典都是关于共享实例的——它们允许您从多个地方使用某个实例(例如样式、模板、画笔或其他)。它们实际上并不是一种将用户界面分割以简化单个Xaml文件的机制。 通常将过于复杂的Xaml文件拆分为几个更易于管理的较小文件的机制是用户控件。(资源字典 合并 当你已经有了一本资源字典,而且它太大的时候,就开始发挥作用了。但是你通常不会仅仅为了把事情分开而引入一个资源字典。相反,资源字典倾向于鼓励过大的Xaml文件,这就是为什么字典合并必须首先被发明!) 大多数情况下,当我定义一个数据模板时,我只让它包含一个用户控件。如果这变得更复杂,我会把用户控件拆分成更多的用户控件。 从您的描述来看,您的Xaml文件似乎变大了,因为其中有四个大型分层数据模板。如果将每个模板的主体转换为用户控件,则四个模板将变得非常简单,如下所示:
而且您很可能不再需要将这些模板放入单独的文件中。但是因为每个模板的核心现在都在用户控件中,这给了你一个放置代码的地方。 您提到需要引用父控件。这让我很担心-听起来你的代码背后有太多的代码。但一次只有一件事。。。可以通过在用户控件上定义名为ParentControl的依赖项属性来解决该问题,然后将此属性放入模板中:
但坦白地说,当我发现自己处在一个需要这个的位置时,我会问自己:我是如何让自己进入一个似乎有必要的位置的,我能做些什么来解决这个问题? |
|
|
2
1
你知道你可以
merge your Resource Dictionaries
然后引用
|
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |
|
|
Barta · WPF MVVM不更新视图 1 年前 |
|
|
Denis Ivanov · WPF控件在属性更改时不会更新 1 年前 |
|
|
codymanix · WPF:TextBlock周围可见小边框? 1 年前 |
|
|
Nostromo · 来自背景对象的工具提示 2 年前 |
|
|
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 2 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 2 年前 |
|
|
Thern · 在UI线程(WPF)上的void方法中调用异步函数 2 年前 |