将行绑定到验证规则WPF

时间:2013-02-05 07:34:53

标签: wpf data-binding user-controls wpf-controls wpfdatagrid

我想将TextBox的{​​{1}}(位于Tag内)绑定到验证规则的CurrentLegStrategy属性(DataGrid)。虽然我使用全局隧道对象完成了与Deal依赖属性类似的操作,但是无法弄清楚,CurrentLegStrategy的隧道是什么(理想情况下应该从绑定数据到DependencyProperty或绑定到绑定数据到DataRow的标签)?

TextBox

然后我也试过了,

<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>

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

0 个答案:

没有答案