首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在XAML中直接定义ObjectDataProvider MethodParameter

在XAML中直接定义ObjectDataProvider MethodParameter
EN

Stack Overflow用户
提问于 2010-11-17 01:10:23
回答 1查看 2.8K关注 0票数 0

我正在尝试直接在XAML中修改MethodParameter。我确实有一个从代码中设置它的工作示例。代码版本为:

代码语言:javascript
复制
Dim odp As New ObjectDataProvider()
odp = FindResource("Products")
odp.MethodParameters.Clear()
odp.MethodParameters.Add(CType(txtCatId.Text, Integer))

在XAML中定义的ObjectDataProvider看起来像这样:

代码语言:javascript
复制
<ObjectDataProvider x:Key="Products"
      ObjectInstance="{StaticResource ProductsDataProvider}"
      MethodName="GetProdsByCatID">
        <ObjectDataProvider.MethodParameters>
            <sys:Int32>0</sys:Int32>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

有没有什么办法可以检索我的textbox的值(它被绑定到一个单独的ObjectDataProvider,并将它放在我的XAML中当前硬编码的"0“的位置?我希望这是完全XAML驱动的,没有代码更改就不能让它工作。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-17 01:17:23

您可以尝试像这样绑定TextBox.Text

代码语言:javascript
复制
   <ObjectDataProvider x:Key="Products"
      ObjectInstance="{StaticResource ProductsDataProvider}"
      MethodName="GetProdsByCatID">
        <ObjectDataProvider.MethodParameters>
            <sys:Int32>0</sys:Int32>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

   <TextBox Text={Binding Source={StaticResource Products}, Path="MethodParameters[0]" BindsDirectlyToSource="True" Mode="OneWayToSource"}/>

如果您有到TextBox.Text的其他绑定,请尝试使用MultiBinding

代码语言:javascript
复制
<TextBox>
   <TextBox.Text>
      <MultiBinding Converter="...">
        <Binding Source="{StaticResource Products}", Path="MethodParameters[0]" BindsDirectlyToSource="True" Mode="OneWayToSource"/>
        ...
      </MultiBinding>
   </TextBox.Text>
</TextBox>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4196877

复制
相关文章

相似问题

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