Функциональность DockBar в стиле Mac в WPF - PullRequest
0 голосов
/ 08 февраля 2011

Я пытаюсь имитировать DockBar на Mac или ObjectBar.В процессе я надеюсь изучить WPF Custom Controls и, надеюсь, создать полезный элемент управления для меня и сообщества.Пока у меня есть это

<Window x:Class="WPFMacStyleTBar.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="356" Width="577">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid Grid.Row="3">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Button Grid.Column="1" x:Name="btnHome" Background="Transparent" BorderBrush="Transparent" Margin="0,0,47,0" Foreground="Transparent">
            <Button.Content>
                <Image Source="C:\Vikram\Projects\WPFMacStyleTBar\WPFMacStyleTBar\Images\Home.png"></Image>
            </Button.Content>
        </Button>
        <Button Grid.Column="2" x:Name="btnGlobe" Background="Transparent" BorderBrush="Transparent" Margin="0,0,47,0" Foreground="Transparent">
            <Button.Content>
                <Image Source="C:\Vikram\Projects\WPFMacStyleTBar\WPFMacStyleTBar\Images\Globe.png"></Image>
            </Button.Content>
        </Button>
        <Button Grid.Column="3" x:Name="btnNotes" Background="Transparent" BorderBrush="Transparent" Margin="0,0,49,0" Foreground="Transparent">
            <Button.Content>
                <Image Source="C:\Vikram\Projects\WPFMacStyleTBar\WPFMacStyleTBar\Images\Notes.png"></Image>
            </Button.Content>
        </Button>
    </Grid>        
</Grid>

Это немного элементарно, но я чувствовал, что для начала все должно быть хорошо.Проблема, с которой я сталкиваюсь, заключается в том, что даже после установки фона и границы прозрачности граница кнопки все равно отображается.Кроме того, я хочу обрезать область изображения до области изображения.Буду признателен за помощь в том, как это можно сделать.

РЕДАКТИРОВАТЬ

Я нашел то, что искал здесь

1 Ответ

0 голосов
/ 08 февраля 2011

Я думаю, что Wrap-панель (http://msdn.microsoft.com/en-us/library/system.windows.controls.wrappanel.aspx) будет более разумным выбором, чем просто ограничение кнопок, которые пользователь может установить.

Кроме того, вы также можете создать стиль для своих кнопок и привязать размер кнопки к размеру изображения (выполните проверку в выделенном коде, чтобы установить максимальный размер изображения tho).

Что касается непрозрачных границ кнопок, я действительно не имею понятия, почему это могло бы произойти. Выложите скриншот, если это возможно;)

...