将DisplayMemberPath绑定到WPF中的函数

时间:2010-08-31 16:04:11

标签: c# wpf function binding formatting

有没有办法可以将DisplayMemberPath组合框绑定到函数中?我目前工作的对象有三个我希望用于演示的属性; FirstNameLastNameMiddleName

我在Formatting类中编写了一个静态方法来处理它。此方法称为FullName,并接受三个字符串参数。

有没有办法可以调用Formatting.FullName并从我的Person对象传入三个参数,以便将格式化的全名显示在组合框项目中?

我已将以下XAML添加到我页面的资源部分:

<ObjectDataProvider ObjectType="{x:Type business:Formatting}" x:Key="formatter" />

<ObjectDataProvider ObjectInstance="{StaticResource formatter}" 
                    MethodName="FullName" 
                    x:Key="nameFormatter">
    <ObjectDataProvider.MethodParameters>
        <system:String>Bloggs</system:String>
        <system:String>Joe</system:String>
        <system:String>Q</system:String>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

我的组合框XAML现在看起来像这样:

<ComboBox Height="23" Width="120" 
          HorizontalAlignment="Left" VerticalAlignment="Top" 
          Margin="467,72,0,0" 
          Name="cboDistrictAttorney" 
          SelectedValuePath="Id" 
          SelectedValue="{Binding DistrictAttorneyId}" 
          DisplayMemberPath="{Binding Source={StaticResource nameFormatter}}" />

最终结果是我有一个装满空白项目的组合框。

1 个答案:

答案 0 :(得分:0)

另一个案例是DataTemplate,但DataTemplate对于您的应用程序来说更重。