Изображение и текстовый блок в WPF RibbonApplicationMenu - PullRequest
1 голос
/ 19 июля 2010

Мне нужно поместить изображение и текст в меню ленты WPF. Я пробовал несколько вещей, но все, что я могу получить, это пустые кнопки в меню ленты. Я использую .NET Framework 3.5. Часть моего неработающего кода здесь:

    <r:Ribbon.ApplicationMenu>
        <r:RibbonApplicationMenu Command="{StaticResource ApplicationMenuCommand}">
            <r:RibbonApplicationMenu.Items>                        
                <r:RibbonApplicationMenu>
                    <TextBlock Text="Some text"></TextBlock>
                <Grid>
                    <Image Margin="2" VerticalAlignment="Top" HorizontalAlignment="Left" Width="120" Height="57" Source="Resources\Images\logo.png" />
                </Grid>
                </r:RibbonApplicationMenu>
            </r:RibbonApplicationMenu.Items>                
        </r:RibbonApplicationMenu>
    </r:Ribbon.ApplicationMenu>

Заранее спасибо за любую помощь.

1 Ответ

2 голосов
/ 03 августа 2010

Вы можете вставить TextBlock, Image или другие элементы, используя ControlTemplate. В коде это выглядит так:

 <r:RibbonApplicationMenuItem>
                        <r:RibbonApplicationMenuItem.Template>
                            <ControlTemplate>
                                <Grid Width="500">
                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>
                                    <TextBlock Grid.Row="0" HorizontalAlignment="Center">
                                        Text
                                    </TextBlock>
                                    <Image  VerticalAlignment="Center"  HorizontalAlignment="Center" Stretch="None"
                                            Grid.Row="1" Source="/Application;component/Resources/Images/logo.png"/>
                                    <StackPanel Orientation="Vertical" Grid.Row="2" >
                                        <Label HorizontalAlignment="Center">
                                            <TextBlock>
                                                AnotherText
                                            </TextBlock>
                                        </Label>

                                    </StackPanel>
                                </Grid>
                            </ControlTemplate>
                        </r:RibbonApplicationMenuItem.Template>
                    </r:RibbonApplicationMenuItem>
</r:RibbonApplicationMenu>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...