我第一次測試WPF,並試圖用ObjectDataProvider調用WCF服務。如何使用ObjectDataProvider將WPF控件綁定到WCF方法
WCF服務名爲WcfService1有一個方法:
namespace WcfService1
{
public class Service1 : IService1
{
public String HelloWorld()
{
return "Hello World!";
}
}
}
我添加了一個服務引用到我的WPF項目,並把它命名爲TestService的
在我的主窗口中,我可以把這個沒有代碼問題背後。看起來很簡單;像網絡服務電話:
TestService.Service1Client service = new TestService.Service1Client(); MessageBox.Show(service.HelloWorld());
我想創建一個指向此服務的ObjectDataProvider。我想我對ObjectType應該是什麼感到困惑?我試過本地,服務名稱空間,src;我迷路了:
<Window.Resource>
<ObjectDataProvider
x:Key="odpTestService"
ObjectType="{x:Type **TestService**:Service1Client}"
MethodName="HelloWorld" />
</Window.Resources>
Ultimatly它將綁定到一個TextBlock:
<TextBlock Grid.Column="0" Grid.Row="0"
Grid.ColumnSpan="2" Background="AliceBlue"
Text="{Binding Source={StaticResource odpTestService}}" />
我試圖從Flickr的例子張貼在這裏工作:http://khason.net/blog/wpf-binding-to-wcf-and-more/
更新: 的丹尼斯的回答確實解決了這個問題的一部分。現在,編譯時出現錯誤: System.Windows.Data錯誤:34:ObjectDataProvider:嘗試調用類型方法失敗;
ObjectDataProvider無法調用類型IService1的HelloWorld方法(使用我的示例中的方法和類型)。任何想法爲什麼?
哇丹尼斯,這是我的一個大腦袋。謝謝。 – 2009-05-05 01:44:53