是否可以使用我在另一个UserControl中定义的资源,而不使用ResourceDictionary的额外文件。
我有一个UserControl" ViewCostumers"并在我定义一个DataTemplate与所有客户的ListView。 现在我写一个UserCotnrol" ViewOverview"其中出现相同的ListView。我想将LsitView保存在文件" ViewCostumer"如果可能的话。
提前致谢
编辑: 我试图做的是将DataTempalte / ListView保存在原始文件中。然后,我想从另一个文件引用该文件(这是一个UserControl)(比如资源字典,只有ViewCostumer是UserControl:
< ResourceDictionary>
< ResourceDictionary.MergedDictionaries>
< ResourceDictionary Source="View/ViewCostumer.xaml" />
< /ResourceDictionary.MergedDictionaries>
< /ResourceDictionary>
答案 0 :(得分:1)
是否可以使用我在另一个UserControl中定义的资源,而不使用ResourceDictionary的额外文件。
不,不是。毕竟,这正是ResourceDictionaries的用途。
我想将资源保存在原始文件中(这是一个UserControl)。
如果您打算在除此特定UserControl
之外的任何其他控件中使用资源,则不能也不应该这样做。如果您打算在任何其他控件中使用此资源,则在UserControl
中定义资源是没有意义的。
你应该做的是在ResourceDictionary
中定义公共资源,然后按照@Ephraim的建议合并到两个控件中。
答案 1 :(得分:0)
您可以将资源移动到应用程序范围。
专门查看Creating and Consuming Resource Dictionaries in WPF and Silverlight 移动资源到应用范围。
我们的想法是将资源移到Application.xaml中,以便可以在整个应用程序中使用。
<强> Application.xaml 强>
// Custom promisify
function promisify(fn) {
/**
* @param {...Any} params The params to pass into *fn*
* @return {Promise<Any|Any[]>}
*/
return function promisified(...params) {
return new Promise((resolve, reject) => fn(...params.concat([(err, ...args) => err ? reject(err) : resolve( args.length < 2 ? args[0] : args )])))
}
}
const readdirAsync = promisify(fs.readdir)
readdirAsync('./folderpath').then(filenames => console.log(filenames))