【发布时间】:2012-03-27 15:07:49
【问题描述】:
我有一个带有文本框和按钮的控件模板,该按钮打开一个子表单以选择某些内容并在文本框中显示所选项目,如下所示:
<Window.Resources>
<ControlTemplate x:Key="CreateParam">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Button Content="select" Command="{Binding ShowSpecItemViewommand}" Grid.Column="0" Margin="2"/>
<TextBox Margin="2" Text="{Binding Param}" Grid.Row="0" Grid.Column="1"/>
<TextBlock Margin="5" Text="patameter" Grid.Row="0" Grid.Column="2"/>
</Grid>
</ControlTemplate>
</Window.Resources>
我在视图模型中有这样的属性:
public string param;
public string Param
{
get
{
return param;
}
set
{
param = value;
RaisePropertyChanged("Param");
}
}
现在我想在一个窗口中创建该控件的两个独立实例,但是当我为第一个实例选择一个值时,它们都已更改。我应该定义两个属性吗?如何将它们绑定到控制模板? 我不确定每个人都能理解我的意思,所以我希望有人编辑我的问题:)
【问题讨论】:
标签: binding mvvm mvvm-light controltemplate