Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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
C# 多重绑定查找丢失的祖先源错误:简单提示?_C#_Wpf_User Controls_Multibinding_Imultivalueconverter - Fatal编程技术网

C# 多重绑定查找丢失的祖先源错误:简单提示?

C# 多重绑定查找丢失的祖先源错误:简单提示?,c#,wpf,user-controls,multibinding,imultivalueconverter,C#,Wpf,User Controls,Multibinding,Imultivalueconverter,假设我有这样一个UserControl: <UserControl x:Class="SandBox.IconUC" xmlns:sb="clr-namespace:SandBox" x:Name="Icon_Control" ...> <UserControl.Resources> <sb:IconActualScalingConverter x:K

假设我有这样一个UserControl:

<UserControl 
    x:Class="SandBox.IconUC" 
    xmlns:sb="clr-namespace:SandBox" 
    x:Name="Icon_Control" ...>

    <UserControl.Resources>
        <sb:IconActualScalingConverter x:Key="IconActualScaling_Converter" />
    </UserControl.Resources>

    <!-- ... -->
        <ScaleTransform.ScaleX>
            <MultiBinding Converter="{StaticResource IconActualScaling_Converter}">
                <Binding Path="BaseSize" ElementName="Icon_Control" />
                <Binding 
                    Path="ScalingOverride" 
                    RelativeSource="{RelativeSource AncestorType=sb:ContainerUC}" />
            </MultiBinding>
        </ScaleTransform.ScaleX>
    <!-- ... -->
</UserControl>

谢谢。

这只是Visual Studio调试窗口中的一个警告。它不会影响任何事情,它只是给你的一个信息。在这种情况下,将不会设置绑定。删除此警告消息有什么意义?啊!?你确定我可以把那个警告留在那里继续吗?我假设“warning=代码中有错误…”这就是为什么我要寻找修复这个确切的特定警告的步骤。是的,绑定没有设置,这就是为什么我在转换器中有dependencProperty.unset值,但在我看来很粗糙。我只是希望我错过的东西可以在xaml多重绑定中完成。但如果是这样的话,数据绑定警告只是一条诊断消息。因此,如果您知道缺少绑定源是可以的,那么就忽略该警告。它可能会帮助您发现数据绑定问题,例如。G如果您必须解决所有绑定。好的:)谢谢。ScalingOverride绑定仅用于显示祖先范围内的目的;如果祖先不在那里,我实际上不必解析这个绑定。稍后我可能会使用“wpf可继承属性”作为解决方法(对不起,我很固执,我知道,但是这些警告让我有些不舒服:P)
public class IconActualScalingConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        double definedScaling = (double)values[0];
        double scalingFactor = 1.0;

        if (values.Length > 1)
        {
            if (values[1] != DependencyProperty.UnsetValue)
            {
                scalingFactor = (double)values[1];
            }
        }
        return definedScaling * scalingFactor;
    }
    
    public object[] ConvertBack(...)
    {
        throw new NotImplementedException();
    }
}