1

TextBoxTag( の中にあるDataGrid) を、検証ルールの CurrentLegStrategy プロパティ ( の )にバインドしたいと考えていDependencyPropertyます。私はグローバル トンネル オブジェクトを使用して Deal 依存関係プロパティで同様のことを行いましたが、CurrentLegStrategy のトンネルが何であるかを理解することはできません (理想的には、バインドされたデータから、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>

以下を使用します。

CurrentLegStrategy="{Binding Path=Tag, Source={StaticResource strategySource}}"

「strategySource」という名前のリソースが見つかりません。リソース名は大文字と小文字が区別されます。

4

0 に答える 0