我使用MVVM。 有没有方便的方法不使用xaml.cs文件,但仍以某种方式调用InitializeComponent()?
答案 0 :(得分:2)
检查出来:
<Window x:Class="WpfApplication1.TestBrowser"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Initialize Component Test"
Height="300"
Width="300">
<StackPanel>
<ListBox x:Name="lb"/>
<x:Code>
<![CDATA[
public TestBrowser()
{
InitializeComponent();
lb.ItemsSource = new[] { "Hey" };
}
]]>
</x:Code>
</StackPanel>
</Window>
编译这样的XAML文件时,x:Code元素内的内容会被填充 在.g.cs文件中的部分类中。
我仍然不会推荐这种做法。至于我,它使代码的可读性降低,我不确定Blend或Kaxaml是否理解它。