Diskuze: C# WPF ComboBox

C# .NET .NET (C# a Visual Basic) C# WPF ComboBox American English version English version

Avatar
Martin Hroch
Člen
Avatar
Martin Hroch:

Zdravím,
chci se zeptat, zdali jde nějak změnit velikost a barva šipky u ComboBoxu. Hlavně ta velikost by se mi hodila.
Roztáhl jsem si combobox na větší velikost, ale šipka zůstala stejně velká.
Další problém co s comboboxem mám je bílý okraj s příšernými zaoblenými rohy. Potřebuji mít celý combobox oranžový bez jakéhokoliv okraje nebo minimálně bez těch zaoblených okrajů.
A jako poslední věc, když najedu myší na combobox změní se mu barva na defaultní modrou, co mám ve win7. Potřeboval bych nějak nastavit svojí vlastní jednolitou barvu. A to jak u nerozbaleného comboboxu tak poté u jednotlivých položek comboboxu.
Snažil jsem se dlouho najít nějaké jednoduché řešení, proklikal jsem, co šlo, ale nějak jsem se k řešení nedobral.

Používám Visual Studio 2012

Předem díky za radu :)

 
Odpovědět 6.8.2015 13:39
Avatar
Odpovídá na Martin Hroch
sadlomaslox25:

tu mas navod. http://leteckaposta.cz/954699657

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 6.8.2015 15:32
Avatar
Martin Hroch
Člen
Avatar
Martin Hroch:

Mockrát díky. Rámeček odstranilo, barva je nastavená, šipka jde měnit.
Barvu po najetí myši na nějakou položku rozbaleného comboboxu jsem si změnil pomocí:

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red"/>

Ovšem změna barvy po najetí na nerozkliknutý combobox se mi tím nezměnila.
Existuje něco podobně jednoduchého co by mě to také změnilo.
Snažil jsem se něco nalézt, ale většinou to bylo bez výsledku nebo to dělalo to samé co ten kód.

 
Nahoru Odpovědět 7.8.2015 0:47
Avatar
Martin Hroch
Člen
Avatar
Martin Hroch:

Tak jsem to nakonec vyřešil přes cs kod.

private void jComboBoxRealm_MouseEnter(object sender, MouseEventArgs e)
{
    Brush cerna;
    var converter = new System.Windows.Media.BrushConverter();
    var brush = (Brush)converter.ConvertFromString("#FF84ABFF");
    cerna = brush;
    jComboBoxRealm.Background = cerna;
}

private void jComboBoxRealm_MouseLeave(object sender, MouseEventArgs e)
{
    Brush oranzova;
    var converter = new System.Windows.Media.BrushConverter();
    var brush = (Brush)converter.ConvertFromString("#FFEF7F19");
    oranzova = brush;
    jComboBoxRealm.Background = oranzova;
}
 
Nahoru Odpovědět 7.8.2015 1:32
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 4 zpráv z 4.