首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Code XAML到XAML

从Code XAML到XAML
EN

Stack Overflow用户
提问于 2010-08-11 14:03:00
回答 1查看 178关注 0票数 0

我在.cs文件中有下面的C#代码,我想把它移到XAML文件中。该代码包含名为: OperationConverte的属性

代码语言:javascript
复制
Binding binding1 = new Binding("DisplayNames") 
    { 
       Source = OperationConverter, 
    }; 
    ComboBox4.SetBinding(ComboBox.ItemsSourceProperty, binding1); 


    Binding binding2 = new Binding("Operation") 
                      { 
                         Mode = BindingMode.TwoWay, 
                         Converter = (OperationConverter as IValueConverter) 
                      }; 
    ComboBox4.SetBinding(ComboBox.SelectedValueProperty, binding2);     

所以我所做的是:

代码语言:javascript
复制
   <ComboBox Name="ComboBox4" MinWidth="100"  ItemsSource="{Binding Path=OperationConverter.DisplayNames}" 
                               SelectedValue="{Binding Path=Operation, Mode=TwoWay, 
                               Converter={?????DONT KNOW WHAT TO DO HERE????}}" Margin="30,123,83,148" /> 

但是我不知道如何连接OperationConverter

EN

回答 1

Stack Overflow用户

发布于 2010-08-11 14:19:56

有多种方法可以做到这一点,但标准的做法是将转换器的一个实例声明为资源并引用它。

代码语言:javascript
复制
<Window.Resources>
    <local:OperationConverter x:Key="MyConverter" />
</Window.Resources>

和更新后的绑定

代码语言:javascript
复制
SelectedValue="{Binding Path=Operation, Mode=TwoWay, Converter={StaticResource MyConverter}}"

您当前公开转换器的方式最好是根本不实现IValueConverter,而是公开来自OperationConverter对象的转换值并直接绑定到该属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3455661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档