Видимость 2 пользовательских компонентов в Silverlight - PullRequest
0 голосов
/ 01 ноября 2011

В моем приложении есть одна боковая панель, содержащая эти два компонента:

        <Grid x:Name="AF" Visibility="Visibility">
            <betata:AForm Height="508" VerticalAlignment="Top"/>
        </Grid>
        <Grid x:Name="AR" Visibility="Collapsed">
            <betata:AReg Height="508" VerticalAlignment="Top"/>
        </Grid>

в AForm есть кнопка с гиперссылкой следующим способом:

    private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
    {
        betata.Views.Sidebar.Sidebar sd = new Sidebar();
        sd.showAR(this);
    }

обратно на код моей боковой панелиполучил еще один метод под названием showAR с этими функциями:

    public void showAR(AForm aForm)
    { 
        this.AR.Visibility = Visibility.Visible;
        aForm.Visibility = Visibility.Collapsed;
    }

, но я не уверен, почему aForm свернут, но AR не может стать видимым.

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Вопрос был ответом в этом посте. Видимость пользовательского контроля можно решить с помощью туннелирования и пузырьков.которые являются новой функцией маршрутизации событий silverlight

1 голос
/ 01 ноября 2011

Я бы немного переработал это, чтобы сделать его более простым (что может помочь решить вашу проблему).

<Grid>
  <betat:AForm x:Name="aForm" Height="508" VerticalAlignment="Top" Visibility="Visible" />
  <betata:AReg x:Name="aReg" Height="508" VerticalAlignment="Top" Visibility="Collapsed" />
</Grid>

 public void showAR() // this is in the code behind (xaml.cs) of the Sidebar UserControl
 { 
      this.aReg.Visibility = Visibility.Visible;
      this.aForm.Visibility = Visibility.Collapsed;
 }

или вам даже не нужен ShowAR (), и вы можете просто установить видимость при нажатии кнопки, если только вы не используете эту функцию в других местах. Пример:

 private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
 {
      betata.Views.Sidebar.Sidebar sd = new Sidebar();
      sd.aReg.Visibility = Visibility.Visible;
      sd.aForm.Visibility = Visibility.Collapsed;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...