1
我想要使用WPF MultiBinding來定位我的UserControl上定義的自定義屬性。我沒有任何運氣。我見過的所有例子都內置了.Net屬性(Text,ItemSource,IsEnabled)。我想知道您是否可以定位自定義屬性。請幫忙。針對Silverlight中的多個綁定的自定義屬性
///
public partial class ActivityStatusDisplay : UserControl
{
public ActivityStatusDisplay()
{
InitializeComponent();
}
/// <summary>
/// Gets or sets the value for the read/write property named
/// Status.
///
/// </summary>
public TaskStatuses Status
{
get
{
return (TaskStatuses)GetValue(StatusProperty);
}
set
{
SetValue(StatusProperty, value);
UpdateForStatus(value);
}
}
public static readonly DependencyProperty StatusProperty = DependencyProperty.
Register("Status", typeof(TaskStatuses), typeof(ActivityStatusDisplay), null);
與XAML結合看起來像這些之一:
<my:DataGrid ItemsSource="{Binding PatientTaskCollection}">
<my:DataGrid.Columns>
<my:DataGridTemplateColumn Header="Status" Width="Auto">
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<my1:ActivityStatusDisplay Margin="3">
<mb:BindingUtil.MultiBindings>
<mb:MultiBindings>
<mb:MultiBinding TargetProperty="Status" Converter="{StaticResource StatusConverter}">
<mb:MultiBinding.Bindings>
<mb:BindingCollection>
<Binding Path="RecoveryTaskStatusID"/>
<Binding Path="Due"/>
</mb:BindingCollection>
</mb:MultiBinding.Bindings>
</mb:MultiBinding>
</mb:MultiBindings>
</mb:BindingUtil.MultiBindings>
</my1:ActivityStatusDisplay>
或類似的東西:
<my:DataGrid ItemsSource="{Binding PatientTaskCollection}">
<my:DataGrid.Columns>
<my:DataGridTemplateColumn Header="Status" Width="Auto">
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<my1:ActivityStatusDisplay Margin="3">
<my1:ActivityStatusDisplay.Status>
<mb:MultiBinding Converter="{StaticResource StatusConverter}">
<Binding Path="RecoveryTaskStatusID"/>
<Binding Path="Due"/>
</mb:MultiBinding>
</my1:ActivityStatusDisplay.Status>
現在這麼令人頭暈目眩......工作。我一定會向你支付我們爲此賺取的任何款項的版稅。非常感謝,非常感謝。 – 2010-07-08 16:56:27
我試圖「回答」你的答案,但我太過於做這個事情了。 – 2010-07-08 16:57:09
@Mark:很高興幫助,沒有必要的錢。點擊此答案旁邊的巨大勾號就足夠了。 – AnthonyWJones 2010-07-08 17:01:12