TextBox
のTag
( の中にある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」という名前のリソースが見つかりません。リソース名は大文字と小文字が区別されます。