0

TextBlockこれのin WPFand binding text プロパティTextBlockを多依存プロパティに持っています。これらの依存関係プロパティを条件付きでバインドしたい。つまり、依存関係プロパティを毎回TextBlockオブジェクトのテキスト プロパティにバインドしたいということです。どのようにできるのか?

編集1:

私のTextBlockは以下です。このテキストブロックのテキスト プロパティを、バインド依存プロパティの調査値によって計算します。各バインディング依存関係プロパティを変更して、テキストブロックのテキストを更新したい。バインディング依存関係プロパティの一部が null 値である可能性があり、この依存関係プロパティをテキスト プロパティにバインドしたくありません。アプリケーションをデバッグし、依存関係プロパティが null の場合、Visual Studio で出力ウィンドウに警告が表示されます。

<TextBlock>
            <TextBlock.Text>
                <MultiBinding Converter="{StaticResource OCDFLinkTextConverter}">
                    <Binding Path="TbOCDFLink" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.ParentOCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.ParentOCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.ParentOCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.ParentOCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.TbOCDFLinkGroup.FromOCDFObjectItem" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                    <Binding Path="TbOCDFLink.TbOCDFLinkGroup.ToOCDFObjectItem" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
                </MultiBinding>
            </TextBlock.Text>
        </TextBlock>
4

1 に答える 1

1

こんにちは、コンバーターでこれを試してください

public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     string result="";
     if (values != null)
     {
         foreach (var val in values)
         {
             if (val == null)
                 continue;
             else
                 result = result + val;

         }
     }
     return result;
 }

私はあなたのすべてのバインディングが機能していることを期待しています.これが役立つことを願っています.

于 2012-07-15T04:35:49.893 に答える