- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我养成了使用 WPF/C# 值转换器的习惯,因为它们很棒。我通常只为值转换器设置一个文件夹,然后在我可能需要它们的任何 xaml 文件中访问它们。
我目前正在开发一个用户控件,它将具有一些我不希望其他类能够访问的值转换器。换句话说,值转换器存在于代码隐藏文件中,并且只能从该文件和关联的 xaml 访问。我的第一个想法是将它作为嵌套类放入代码隐藏文件中,但我找不到从 xaml 文件中访问嵌套类的方法。我是在朝着正确的方向前进,还是应该做其他事情?
我可以采用廉价的方式,将此控件放入它自己的命名空间中,但这并不能真正解决我的问题。
如有任何帮助或指导,我们将不胜感激。谢谢!
下面大致是我想要的:
public partial class MyControl: UserControl
{
//misc code for control
private class MyValueConverter : IMultiValueConverter
{
//conversion functions
}
}
是我的想法。
通常,值转换器是从 WPF 中访问的,例如:
`<local:MyValueConverter x:Key="MyValueConverter" />`
这仅在它们位于同一命名空间中时有效。如果它是一个嵌套类,我无法让它工作。我已经实现了使 valueconverter 仅对此用户控件可见的目标,但我终究无法弄清楚如何从 xaml 中访问它。
我的问题是从 xaml 中访问这个转换器。
最佳答案
这是不可能的(查看 here 的原因 - 第 2 段关于要求)
Your custom class must not be a nested class. Nested classes and the "dot" in their general CLR usage syntax interfere with other WPF and/or XAML features such as attached properties.
您当然可以解决这个问题 - 但这限制了您在代码隐藏中设置值转换器(这很讨厌 :-))
不过我很好奇,您为什么不希望其他类使用它?
关于c# - 可以使值转换器只能由我的用户控件访问吗? (WPF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419661/
有一条(相对)众所周知的 Perl 公理:“只有 Perl 可以解析 Perl”。我想知道 Perl 6 是否仍然如此? 扩大讨论...考虑到 PyPy 最近的更新,我想到了这个问题。 Perl 独特
这是设置。在上一个问题中,我发现我可以通过子组件中的状态传递对象属性,然后使用 componentDidUpdate 获取该对象属性。在这种情况下,状态和属性都称为到达。 这是基本代码... expo
我运行的是 10.5.2 社区版。我已经标记了 源/主要/资源 作为源目录。我可以右键单击并“编译”某些文件,据我所知,这意味着 IDE 将文件复制到与发送类文件的“com.mydomain.pack
我是一名优秀的程序员,十分优秀!