Wpf ObjectDataProvider MethodParameter直接在XAML中定义
我试图直接在XAML中修改MethodParameter。我确实有一个从代码设置的工作示例。代码版本为:Wpf ObjectDataProvider MethodParameter直接在XAML中定义,wpf,vb.net,xaml,binding,Wpf,Vb.net,Xaml,Binding,我试图直接在XAML中修改MethodParameter。我确实有一个从代码设置的工作示例。代码版本为: Dim odp As New ObjectDataProvider() odp = FindResource("Products") odp.MethodParameters.Clear() odp.MethodParameters.Add(CType(txtCatId.Text, Integer)) XAML中定义的ObjectDataProvider如下所示: <ObjectDa
Dim odp As New ObjectDataProvider()
odp = FindResource("Products")
odp.MethodParameters.Clear()
odp.MethodParameters.Add(CType(txtCatId.Text, Integer))
XAML中定义的ObjectDataProvider如下所示:
<ObjectDataProvider x:Key="Products"
ObjectInstance="{StaticResource ProductsDataProvider}"
MethodName="GetProdsByCatID">
<ObjectDataProvider.MethodParameters>
<sys:Int32>0</sys:Int32>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
0
我是否可以检索文本框的值(该文本框绑定到单独的ObjectDataProvider,并将其替换为XAML中当前硬编码的“0”)?我希望该文本框完全由XAML驱动,并且在没有代码更改的情况下无法正常工作
谢谢!您可以尝试绑定文本框。文本如下
<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"}/>
0
如果您对TextBox.Text有其他绑定,请尝试使用多重绑定
<TextBox>
<TextBox.Text>
<MultiBinding Converter="...">
<Binding Source="{StaticResource Products}", Path="MethodParameters[0]" BindsDirectlyToSource="True" Mode="OneWayToSource"/>
...
</MultiBinding>
</TextBox.Text>
</TextBox>
...
在类型“Binding”中找不到属性“Text”。语法正确吗?它不需要是Source=”{StaticResource…?仍然存在语法问题。是的,它应该,我还没有改变它,我没有尝试它,我只是给你一个想法,如何尝试做itOk仍然不起作用。我正在进一步研究它,但如果它给我指出了正确的方向,我将返回给你的信用。