将行绑定到验证规则WPF

将行绑定到验证规则WPF,wpf,data-binding,user-controls,wpf-controls,wpfdatagrid,Wpf,Data Binding,User Controls,Wpf Controls,Wpfdatagrid,我想将文本框的标记(位于数据网格)绑定到验证规则的CurrentLegStrategy属性(它是依赖属性)。虽然我使用全局隧道对象对Deal dependency属性做了类似的操作,但是我无法确定CurrentLegStrategy的隧道是什么(理想情况下应该来自绑定数据到DataRow或绑定数据到TextBox的标记) 找不到名为“strategySource”的资源。资源名称区分大小写。事实上,这就像是在玩瞎猜游戏。我建议您尝试在DealObject中使用RelativeSource绑定而不

我想将
文本框
标记
(位于
数据网格
)绑定到验证规则的CurrentLegStrategy属性(它是
依赖属性
)。虽然我使用全局隧道对象对Deal dependency属性做了类似的操作,但是我无法确定CurrentLegStrategy的隧道是什么(理想情况下应该来自绑定数据到
DataRow
或绑定数据到
TextBox
的标记)


找不到名为“strategySource”的资源。资源名称区分大小写。

事实上,这就像是在玩瞎猜游戏。我建议您尝试在
DealObject
中使用
RelativeSource
绑定而不是
ElementName
。如果这不起作用,创建一个简单的项目来演示您的问题,并在这里给出代码(可能还链接了您的示例项目),我们可以使用它来解决您的问题。
<DataTemplate x:Key="PremiumProp">
    <TextBlock Style="{StaticResource TextBlockLeft}" Tag="{Binding Strategy}" x:Name="txtPremiumProp">                     
        <TextBlock.Text>
            <Binding Path="AbsolutePremium" StringFormat="{}{0:#,##0.00####}" Converter="{StaticResource _DoubleConvertor}">
                <Binding.ValidationRules>
                    <Control:MBSStrategyBasedDoubleValidation ValidatesOnTargetUpdated="True" ValidationTag="premabs"
                            ErrorMessage="Please enter a valid positive (+) premium (also check the reference which is required for auto calculation)!">
                        <Control:MBSStrategyBasedDoubleValidation.Deal>
                            <Control:DealObject Deal="{Binding Tag, Source={StaticResource TradeTunnel}}" CurrentLegStrategy="{Binding Path=Tag, ElementName=txtPremiumProp}"/>
                        </Control:MBSStrategyBasedDoubleValidation.Deal>
                    </Control:MBSStrategyBasedDoubleValidation>
                </Binding.ValidationRules>
            </Binding>
        </TextBlock.Text>
    </TextBlock>
</DataTemplate>
<TextBlock.Resources>
    <ResourceDictionary>
        <FrameworkElement x:Name="strategySource" Tag="{Binding Tag, Source={x:Reference txtPremiumProp}}"/>
    </ResourceDictionary>    
</TextBlock.Resources>
CurrentLegStrategy="{Binding Path=Tag, Source={StaticResource strategySource}}"