WPF制作模板进行编辑

时间:2009-09-20 09:20:48

标签: wpf templates

我正在构建一个小型数字标牌系统,以便在内部机器上运行。我想为编辑(非技术人员)提供一些模板来选择布局。以下内容:

Conceptual drawing of template http://www.vikingworks.dk/template.png

我应该很容易维护模板并创建新模板,即只创建XAMl标记。

有关如何使这项工作的任何想法?我做什么运行时?我该如何创建模板?

1 个答案:

答案 0 :(得分:0)

不确定我是否完全遵循,但可能会显示固定数量的字段。因此,您可以通过视图模型公开这些字段:

public class YourViewModel : ViewModel
{
    public string Text
    {
        //get and set omitted
    }

    public ImageSource Image1
    {
        //get and set omitted
    }

    public ImageSource Image2
    {
        //get and set omitted
    }
}

您拥有的每个模板都可以存储在不同的密钥下:

<DataTemplate x:Key="FirstTemplate" DataType="{x:Type local:YourViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="SecondTemplate" DataType="{x:Type local:YourViewModel}">
    ...
</DataTemplate>

然后在每个模板中只能绑定到视图模型中的字段:

<TextBlock Content="{Binding Text}"/>
<Image Grid.Row="1" Source="{Binding Image1}"/>
<Image Grid.Row="1" Grid.Column="1" Source="{Binding Image2}"/>

要在模板之间切换,您只需在资源层次结构的适当级别替换资源:

this.Resources.Clear();
this.Resources.Add(FindResource(templateKey));