Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: WPF - Schování ikony v menu

C# .NET .NET (C# a Visual Basic) WPF - Schování ikony v menu American English version English version

Aktivity (1)
Avatar
Tomáš Švejnoha:18.10.2015 11:47

Ahoj,
dělám aplikaci ve WPF a mám menší problém. Potřeboval bych v menu schovat oblast, ve které se zobrazuje ikona, ale pouze u Slideru. Nevíte někdo, jak na to?

Jenom pro pořádek přidávám část kódu.

<Window>
        <Grid>
                <DockPanel ...>
                        <Menu x:Name="MainMenu" Height="25" Width="Auto" DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Top">
                                <MenuItem>
                                        <MenuItem.Icon>
                                                <Image Source="..\Images\iSound.ico" MaxHeight="22" Margin="0,0,-17,0"/>
                                        </MenuItem.Icon>
                                        <Slider Maximum="100" Width="100" Margin="-28,0,-58,0"/>
                                </MenuItem>
                                <MenuItem Name="Menu_file_close" Click="Menu_file_close_Click" HorizontalAlignment="Right">
                                        <MenuItem.Icon>
                                                <Image Source="..\Images\iPower.ico" MaxHeight="22" Margin="0,0,-17,0" />
                                        </MenuItem.Icon>
                                </MenuItem>
                        </Menu>
                </DockPanel>
        </Grid>
</Window>
 
Odpovědět 18.10.2015 11:47
Avatar
Odpovídá na Tomáš Švejnoha
Petr Čech (czubehead):18.10.2015 13:38

Už jsem se o něco takového pokoušel a myslím, že to buď nejde, nebo je to hrabání se na tak nízké úrovni, že to nemá smysl.

Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět 18.10.2015 13:38
Why so serious? -Joker
Avatar
Odpovídá na Petr Čech (czubehead)
Tomáš Švejnoha:19.10.2015 17:18

Jak jsi to pak řešil? Vytvářel sis vlastní prvek a do něj umístil slider nebo jinak?

 
Nahoru Odpovědět 19.10.2015 17:18
Avatar
Odpovídá na Tomáš Švejnoha
Petr Čech (czubehead):19.10.2015 17:21

Prostě jsem tam ten prostor nechal, je to nejlepší (nejjednodušší), co jde udělat. Otázka je, jestli to potřebuješ opravdu nutně...

Nahoru Odpovědět 19.10.2015 17:21
Why so serious? -Joker
Avatar
Tomáš Švejnoha:19.10.2015 17:28

Díky za odpověď :)
Nutně to nepotřebuji, vytvářím to zatím sám pro sebe. Kdybych se ale rozhodl to pustit do světa, tak by asi nebylo úplně ideální, kdyby to tam zůstalo.

 
Nahoru Odpovědět 19.10.2015 17:28
Avatar
coells
Redaktor
Avatar
coells:19.10.2015 19:55

Nejjednodušší verze, aby byl zachovaný highlight při mouseover:

<DockPanel LastChildFill="False">
    <Menu x:Name="MainMenu" DockPanel.Dock="Top">
        <MenuItem Header="slider">
            <MenuItem.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Background="WhiteSmoke" />
                </ItemsPanelTemplate>
            </MenuItem.ItemsPanel>
            <Slider Maximum="100" Width="100" Margin="-28,0,-58,0"/>
        </MenuItem>
    </Menu>
</DockPanel>
 
Nahoru Odpovědět 19.10.2015 19:55
Avatar
Odpovídá na coells
Tomáš Švejnoha:20.10.2015 18:15

Díky moc za kód ;)

 
Nahoru Odpovědět 20.10.2015 18:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.