Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf ObjectDataProvider MethodParameter直接在XAML中定义_Wpf_Vb.net_Xaml_Binding - Fatal编程技术网

Wpf ObjectDataProvider MethodParameter直接在XAML中定义

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

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

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仍然不起作用。我正在进一步研究它,但如果它给我指出了正确的方向,我将返回给你的信用。