2010-02-02 31 views
8

Tôi đã có Custom Control với một TextBox trong mẫu mặc định. Các Custom Control có các đặc tính này phụ thuộc 2 (trong số những người khác):WPF TextBox.Text với MultiBinding

SelectedValue, NullText (văn bản xuất hiện trong TextBox khi không có gì được chọn và giá trị được cung cấp)

Tôi muốn thiết lập TextBox.Text với giá trị NullText khi số SelectedValue null và NullText không phải là null.

<TextBox.Text>            
<MultiBinding Converter="{StaticResource myConverter}"> 
    <Binding RelativeSource="TemplatedParent" Path="SelectedValue"/> 
    <Binding RelativeSource="TemplatedParent" Path="NullText"/> 
</MultiBinding>            
</TextBox.Text> 

Tôi đã có một IMultiValueConverter:

public class MyConverter : IMultiValueConverter 
{} 

Với định nghĩa XAML này tôi đã 'loại không có một lớp TypeConverter công cộng' Exception

Làm thế nào bạn sẽ giải quyết nó, xin vui lòng?

+0

xin lỗi, đã không nhận ra bạn thực sự đã được đăng một câu trả lời, tôi nghĩ bạn nơi chỉ cập nhật các câu hỏi (downvote loại bỏ) – Natrium

+0

OK :) Tôi nên làm gì bây giờ? Vì câu hỏi vẫn mở –

+0

Thay vì đăng giải pháp của bạn dưới dạng Chỉnh sửa, hãy đăng giải pháp của bạn làm câu trả lời và đánh dấu giải pháp đó là câu trả lời. –

Trả lời

21

Tôi đã tìm thấy số SOLUTION một mình: Sự cố xảy ra với RelativeSource. Đây là cách nó sẽ giống như thế:

<TextBox.Text>            
<MultiBinding Converter="{StaticResource myConverter}"> 
    <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/> 
    <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/> 
</MultiBinding>            
</TextBox.Text> 
Các vấn đề liên quan