我正在寻找一些有关如何在 WinRT 中创建自定义控件的教程,我有一个问题。
假设我想创建一个包含一些内容的简单控件,例如左侧有图像、右侧有几个 TextBlock 的网格。
我的意思是,一些简单的事情,比如:
<Grid Height="100">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.3*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Image Source"/Assets/someRandomImage.png"/>
<StackPanel Grid.Column="1"
VerticalAlignment="Center">
<TextBlock Text="Some text"
Margin="10,0,10,0"
FontSize="24"
FontWeight="SemiLight"
TextTrimming="CharacterEllipsis"/>
<TextBlock Text="Some random description..."
Margin="10,5,10,0"
FontSize="18"
FontWeight="Light"
Foreground="Gray"
TextWrapping="Wrap"
TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
我将使用此内容创建一个 UserControl,以便在处理其 UI 时能够在 XAML 设计器中看到它,并且我将在后面的 UserControl 代码中添加所有 Properties 和 DependencyProperties。
然后我发现另一种方法是使用模板控件,因此我必须创建一个继承自 Control 类的类,然后使用上面的 XAML 代码作为模板并将其应用到自定义控件并添加所有其余的逻辑在那里。
当然,我还必须将 x:Name 属性添加到控件内的一些 UIElement 中,以便能够与它们交互,但您明白了。
我想知道,使用这两种方法中的任何一种都可以,还是特别使用其中一种更好,为什么?
另外,我喜欢使用 UserControls,因为我可以在设计器窗口中看到它们,而我无法使用模板来做到这一点,我必须运行应用程序并创建控件的实例才能查看它的内容实际上看起来像。
感谢您的帮助,我想我不是唯一有此疑问的人,所以我希望这个问题也能帮助其他人:D
Sergio