Как установить usercontrol для окна ленты в WPF? - PullRequest
2 голосов
/ 13 октября 2010

Сначала я создал приложение WPF, затем добавил новое приложение RibbonWindows и назвал его RibbonWindow1. Теперь я хочу установить содержимое элемента управления ленты с помощью кода ниже и показать ленту:

 RibbonWindow1 ribWindow = new RibbonWindow1
            {
                Title = "This is a ribbon window",
                Content = new UserControl1()
            };
            ribWindow.ShowDialog();

Но я не вижу полоску ленты. Если я удалю контент, будет показана лента, а также, если я использую перетаскивание, я могу показать его, но я хочу сделать это с помощью простого кода, динамически. Если я смогу закрепить соответствующий элемент управления в определенной ячейке сетки, это будет полезно для меня. Есть предложения?

1 Ответ

0 голосов
/ 26 января 2011

В своем небольшом опыте работы с RibbonWindow я увидел, что лента является частью содержимого самого окна ленты. Таким образом, решением может быть предоставление открытого метода для окна ленты, которое устанавливает ваш usercontrol, например:

<ribbon:RibbonWindow ...>
<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <ribbon:Ribbon x:Name="Ribbon" />
    //add a container for your usercontrol
    <Grid Name="contentPlaceHolder" Grid.Row="1"></Grid>   
 </Grid>

и в коде вы можете установить метод, подобный

public void SetControl(UserControl uc)
{
   this.contentPlaceHolder.Content = uc; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...