0

私のxamlは次のようになります:

<UserControl>
    <Grid>
        ...
    <Grid>
    ...
    <Grid Grid.Row="3">
        <local:UserControl1 Visibility = "{Binding UserControl1Visibility}" />
        <local:UserControl2 Visibility = "{Binding UserControl2Visibility}" />
    </Grid>
</UserControl>

Control1Visibility と Control2Visibility は ViewModel のプロパティですが、機能しません。このグリッドは、2 ユーザー コントロールを動的に表示できませんでした。誰にもアイデアがありますか?

編集

仮想マシン:

private Visibility userControl1Visibility = Visibility.Visible;

        public Visibility UserControl1Visibility
        {
            get { return userControl1Visibility; }
            set
            {
                if (userControl1Visibility != value)
                {
                    userControl1Visibility = value;
                    RaisePropertyChanged("UserControl1Visibility");
                }
            }
        }


        private Visibility userControl2Visibility = Visibility.Collapsed;

        public Visibility UserControl2Visibility
        {
            get { return userControl2Visibility ; }
            set
            {
                if (userControl2Visibility != value)
                {
                    userControl2Visibility = value;
                    RaisePropertyChanged("UserControl2Visibility");
                }
            }
        }
4

1 に答える 1

1

名前が間違っています。xaml では Control1Visibility と Control2Visibility と呼んでいますが、ViewModel では UserControl1Visibility と UserControl2Visibility と呼んでいます。いずれかの名前を変更し、PropertyChanged イベントが適切な文字列で発生することを確認します。

于 2013-09-09T03:31:53.113 に答える