WPF控件可以重复使用吗?

时间:2010-06-23 13:03:50

标签: .net wpf .net-4.0

例如,我创建了一个带有复选标记的按钮。我需要在窗口的几个地方使用它。

<Button Width="25">
    <!-- Draw a Green checkmark -->
    <Polyline Points="2,5,6,10,13,1" Stroke="Green" StrokeThickness="4" StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round" />
</Button>

由于我只想更改内容,因此我不确定是否适用样式或模板。我是否需要创建UserControl?

编辑:这可以通过样式来完成。但是,我只想更改内容,我不想覆盖当前的样式。

3 个答案:

答案 0 :(得分:2)

如果您想要具有某种动态功能,即添加新属性,请使用您创建的按钮的内容创建UserControl。如果你只有一个只有视觉外观的按钮来检查,那么我会使用一种风格。

答案 1 :(得分:1)

这是一种风格的渴望。将以下样式添加到Window.Resources:

<style TargetType="Button" x:Key="tick">
    <Setter Property="ContentTemplate">
        <Setter.Value>
            <DataTemplate>
                <Polyline Points="2,5,6,10,13,1" Stroke="Green" StrokeThickness="4" StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round" />
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

然后您可以将按钮定义为:

<Button Width="25" Style="{StaticResource tick}" />

答案 2 :(得分:0)

使用您创建的按钮的内容创建UserControl。创建用户控件的最简单方法是使用Expression Blend。选择我们想要进行UserControl的所有控件。右键单击并选择“make into Usercontrol”。而已。你可以通过拖放操作在项目的任何地方使用这个控件。

希望它能帮到你,

Saghar Ayyaz