דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. איך לשנות את הרקע של WPF COMBOBOXDROPDOWN

איך לשנות את הרקע של WPF COMBOBOXDROPDOWN

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 2 כותבים 230 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • pcinfogmachP מנותק
    pcinfogmachP מנותק
    pcinfogmach
    כתב ב נערך לאחרונה על ידי
    #1

    מישהו יודע איך לשנות את הרקע של WPF COMBOBOXDROPDOWN?
    לא מצאתי צורה ישירה.
    תודה מראש

    גמ"ח מידע מחשבים ואופיס

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2
      <ComboBox.Resources>
          <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Yellow" />
      </ComboBox.Resources>
      

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      pcinfogmachP תגובה 1 תגובה אחרונה
      1
      • pcinfogmachP מנותק
        pcinfogmachP מנותק
        pcinfogmach
        השיב לdovid ב נערך לאחרונה על ידי
        #3

        @dovid
        תודה!
        יש צורה לשנות גם את הצבע של ה-border של COMBOBOXDROPDOWN?

        גמ"ח מידע מחשבים ואופיס

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

          כן, אותו דבר עם SystemColors.WindowFrameBrushKey.
          אבל אין אפשרות לשנות את העובי שלו בלי טמפלט משלך. בטמפלט משלך אתה יכול לעצב קצת או הכל מחדש.
          דוגמה לטמפלט:

          <ComboBox  HorizontalAlignment="Left" Margin="607,86,0,0" VerticalAlignment="Top" Width="120">
              <ComboBox.Style>
                  <Style TargetType="ComboBox">
                      <Setter Property="Template">
                          <Setter.Value>
                              <ControlTemplate TargetType="{x:Type ComboBox}">
                                  <Grid x:Name="templateRoot" SnapsToDevicePixels="true">
                                      <Grid.ColumnDefinitions>
                                          <ColumnDefinition Width="*"/>
                                          <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/>
                                      </Grid.ColumnDefinitions>
                                      <Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Margin="1" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
                                          <theme:SystemDropShadowChrome x:Name="shadow" Color="Transparent" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}">
                                              <Border x:Name="dropDownBorder" Background="Yellow" BorderBrush="Green" BorderThickness="3">
                                                  <ScrollViewer x:Name="DropDownScrollViewer">
                                                      <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
                                                          <Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
                                                              <Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/>
                                                          </Canvas>
                                                          <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                                                      </Grid>
                                                  </ScrollViewer>
                                              </Border>
                                          </theme:SystemDropShadowChrome>
                                      </Popup>
                                      <ToggleButton x:Name="toggleButton" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Style="{StaticResource ComboBoxToggleButton}"/>
                                      <ContentPresenter x:Name="contentPresenter" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" Content="{TemplateBinding SelectionBoxItem}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                  </Grid>
                                  <ControlTemplate.Triggers>
                                      <Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true">
                                          <Setter Property="Margin" TargetName="shadow" Value="0,0,5,5"/>
                                          <Setter Property="Color" TargetName="shadow" Value="#71000000"/>
                                      </Trigger>
                                      <Trigger Property="HasItems" Value="false">
                                          <Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
                                      </Trigger>
                                      <MultiTrigger>
                                          <MultiTrigger.Conditions>
                                              <Condition Property="IsGrouping" Value="true"/>
                                              <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>
                                          </MultiTrigger.Conditions>
                                          <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
                                      </MultiTrigger>
                                      <Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false">
                                          <Setter Property="Canvas.Top" TargetName="opaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/>
                                          <Setter Property="Canvas.Left" TargetName="opaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/>
                                      </Trigger>
                                  </ControlTemplate.Triggers>
                              </ControlTemplate>
                          </Setter.Value>
                      </Setter>
                  </Style>
              </ComboBox.Style>
              <ComboBoxItem>1</ComboBoxItem>
              <ComboBoxItem>1</ComboBoxItem>
              <ComboBoxItem>1</ComboBoxItem>
              <ComboBoxItem>1</ComboBoxItem>
              <ComboBoxItem>1</ComboBoxItem>
          </ComboBox>
          
          

          בד"כ שומרים טמפלט בApp.xaml לשימוש חוזר בפקדים שונים ולשמור על ניקיון וקוד קצר בחלונות.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          pcinfogmachP תגובה 1 תגובה אחרונה
          1
          • pcinfogmachP מנותק
            pcinfogmachP מנותק
            pcinfogmach
            השיב לdovid ב נערך לאחרונה על ידי
            #5

            @dovid כתב באיך לשנות את הרקע של WPF COMBOBOXDROPDOWN:

            בד"כ שומרים טמפלט בApp.xaml לשימוש חוזר בפקדים שונים ולשמור על ניקיון וקוד קצר בחלונות.

            יש צורה לעשות ככה גם ב-vsto?

            גמ"ח מידע מחשבים ואופיס

            תגובה 1 תגובה אחרונה
            0

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום