J'essaie d'utiliser WPF MultiBinding pour cibler une propriété personnalisée que j'ai définie sur mon UserControl. Je n'ai pas de chance. Tous les exemples que j'ai vus ciblent les propriétés .Net intégrées (Text, ItemSource, IsEnabled). Je me demande si vous pouvez cibler une propriété personnalisée. S'il vous plaît aider.Ciblage d'une propriété personnalisée avec des liaisons multiples dans 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);
avec le XAML pour la liaison à la recherche comme un de ces:
<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>
ou quelque chose comme:
<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>
Si vertigineux en ce moment ... qui a fonctionné. Je vais être sûr de vous envoyer des redevances pour tout l'argent que nous faisons de cette chose. Merci beaucoup. –
J'ai essayé de "voter" votre réponse, mais je suis trop noob pour le faire. –
@Mark: Heureux que cela a aidé, l'argent n'est pas nécessaire. En cliquant sur la grande grosse coche à côté de cette réponse suffirait. – AnthonyWJones