0

多くのユーザー コントロールがあり、ユーザーがリスト ボックスから選択したときにコンテンツ コントロールとリスト ボックスを含むメイン ウィンドウがあります。選択したユーザー コントロールをコンテンツ コントロールにバインドしました。問題は、ユーザー コントロールが初めてバインドされたときです。が表示されますが、ユーザー コントロールが 2 回目にバインドされると、検証ルールが消えます。何が問題なのですか? メインウィンドウは次のとおりです。

<Grid>
    <ListBox x:Name="FormsListBox" Margin="0,5,0,5" Grid.Row="1" Grid.Column="0"  Width="180" ItemsSource="{Binding Formlist}" SelectedItem="{Binding SelectedFormInfo}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <Image Source="Resources/Capture.PNG" ></Image>
                    <TextBlock Text="{Binding Path=FormName}"></TextBlock>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
    <StackPanel Grid.Row="1"  Grid.Column="1" x:Name="MainStackPanel" >
        <ContentControl  Content="{Binding Path=SelectedFormInfo.MainForm}">

        </ContentControl>
    </StackPanel>
</Grid>

ユーザー コントロールの検証ロールのサンプルを次に示します。

<StackPanel Width="315" Margin="20,0,10,0">
    <TextBox x:Name="TxtWeaponNumber" Width="315">
        <TextBox.Text>
            <Binding Path="SelectedWeapon.weaponNumber" Mode="TwoWay"
                UpdateSourceTrigger="PropertyChanged" ValidatesOnNotifyDataErrors="True"
                ValidatesOnDataErrors="True" NotifyOnValidationError="True"
                NotifyOnSourceUpdated="True" NotifyOnTargetUpdated="True">
                <Binding.ValidationRules>
                    <validationRules:RequiredRule ValidatesOnTargetUpdated="True" ValidationStep="RawProposedValue" />
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>
</StackPanel>

注: SelectedFormInfo の MainForm には、選択したユーザー コントロールが含まれています。

4

1 に答える 1

0

ユーザー コントロールを AdornerDecorator に設定しましたが、検証が消えませんでした

于 2015-03-24T20:36:50.217 に答える