是否可以让类构造函数表现得像数组初始值设定项,例如Foo foo = { 1, 2, 3 };
通过隐式转换,我非常接近:Foo foo = new int[] { 1, 2, 3 };
但我很想添加更多的语法糖,因为这部分将在我的整个代码中使用。使其更像 JSON。
我正在尝试在 WPF/C# 中制作一个简单的用户控件。除了数据上下文中属性的数据绑定之外,一切似乎都有效。
我尝试制作极其简化的示例,以更好地了解我做错了什么。一般来说,我对 WPF 还很陌生,所以我认为我在某种程度上做错了依赖属性。可能在绑定本身中,但这通常适用于其他元素,例如 TextBox。这似乎是类似的问题,但答案似乎在我的情况下不起作用:Why DataBinding is not propagating to UserControl
MainWindow.xaml(省略根标签)
<StackPanel>
<local:UserControl1 TextToDisplay="{Binding BoundableText}" />
<TextBlock Text="{Binding BoundableText}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
UserControl1.xaml(根标记省略)
<TextBlock Text="{Binding TextToDisplay}" />
Run Code Online (Sandbox Code Playgroud)
MainWindow.xaml.cs:
<StackPanel>
<local:UserControl1 TextToDisplay="{Binding BoundableText}" />
<TextBlock Text="{Binding BoundableText}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
这两个元素的内容也应该相同,显示在代码隐藏中设置的文本(“此文本已绑定”)。TextBox 按其应有的方式工作,但 UserControl1 只有默认文本。这个案例与第一个案例有何不同?我可以让它以同样的方式工作吗?注意:我还尝试绑定到其他元素的属性,效果很好。还可以从代码隐藏进行绑定。但是,这应该可以从 xaml 本身实现。在实际用例中,控件将位于 DataTemplate 中。