블로그 이미지
평강왕자

카테고리

분류 전체보기 (35)
Programming Lv1 (32)
MFC (16)
Java (1)
C# (6)
Web (0)
DataBase (0)
WPF + Blend (8)
Qt (0)
Programming LV2 (0)
취미 (3)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

MFC를 할때에도 MainFrame HWND값이 필요한 경우가 종종 있었다.

WPF를 하면서도 MainWindow HWND값이 필요한 경우가 생겼다.

가져오는 방법은 아래와 같다.

MainWIndow mainWnd = Application.Current.MainWindow as MainWindow;

HWND을 가져와서 사용하면 된다.

Posted by 평강왕자
, |

WPF를 사용하다보면 UserControl에서 Windows에 함수를 호출해야 하는 경우가 있다.

코드상으로 객체를 생성하면 별 문제가 없다. 생성할때 아래와 같이 자신의 객체를 넘겨 주면 알 수 있다.

private MainWindow ;

public DataManager()
{
    this.InitializeComponent();
}

public DataManager(MainWindow parent)
{
    this.InitializeComponent();
    this.parent = parent;
}

위에와 같이 DataManager UserControl에 생성자를 하나 더 추가하고 MainWindow Window에서 생성할때

DataManager datamanager = new DataManager(this);

코드상으로 객체를 생성하지 않고 Xaml 코드를 사용하면 생성자에 객체를 넣어서 넘겨 줄 수가 없다.

이런 경우 난감해진다.

하지만 event를 사용하면 해당 이벤트를 호출하여 다른     객체에서 event를 감지하여 처리가 가능하다.

Xaml코드에서 해당 객체에 Name을 주고 코드에서 그 객체에 Event핸들러를 추가해 주면 된다.

1. UserControl에 event 변수를 추가 한다.

public event EventHandler EventDataManager;

2. Windows에서 객체에 Event처리 함수를 등록한다.

dataManager.EventDataManager += new EventHandler(dataManager_EventDataManager);

void dataManager_EventDataManager(object sender, EventArgs e)
{
    //처리할 내용
}

3. UserControl에서 호출할 시점에 아래와 같이 Event를 발생 시킨다.

EventDataManager(this, null);

이렇게 사용하면 UserControl에서 버튼 클릭시 이벤트를 발생시키면 실제 처리는 등록해 놓은 함수가 Windows에 있기 때문에

 Windows가 호출 된다. 그러면 Windows에서 객체를 사용하고 처리 하면 된다.

Posted by 평강왕자
, |

다른 스레드가 이 개체를 소유하고 있어 호출한 스레드가 해당 개체에 액세스할 수 없습니다.

Exception이 발생하면서 프로그램이 죽어버렸다.

C# WPF을 시작한지 얼마되지 않아서 검색 해 보니 WPF는 메인스레드가 UI 객체를 가지고 있어서 다른 스레드에서 접근하여

사용하려 하면 Exception을 발생시킨다고 하더군요;;

해결 방법은 Dispatcher.Invoke(DispatcherPriority, Delegate) 함수를 사용하면 해결 됩니다.

http://msdn.microsoft.com/ko-kr/library/ms591593.aspx <-- msdn링크

설명은 잘 나와있습니다. 만능 MSDN;;

실제로 적용하면 아래와 같은 코드를 다른 스레드에 집어넣어서 사용하면 Exception이 발생합니다.

controlSendBtn.Visibility = Visibility.Collapsed;

이것을 아래와 같이 바꿔줍니다.

Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
{
    controlSendBtn.Visibility = Visibility.Collapsed;
 }));

그러면 메인스레드와 동기화 시켜서 Exception없이 잘 돌아갑니다.

 

Posted by 평강왕자
, |

telerik RadGridView를 사용하면 기본적으로 항목을 더블클릭하여 수정할 수 있다.

그 항목을 수정할시에 수정되었을때 이벤트를 주고 싶을 때 RowEditEnded Properties를 사용하면 이벤트를 줄 수 있다.

소스는 아래와 같다.

Xaml

<telerik:RadGridView x:Name="UserGridView" Margin="20,40,20,0" VerticalAlignment="Top" Height="278" ItemsSource="{Binding UserList}" RowIndicatorVisibility="Hidden" CanUserDeleteRows="False" CanUserInsertRows="False" RowEditEnded="UserGridView_RowEditEnded" ShowGroupPanel="False" AutoGenerateColumns="False">

cs

private void UserGridView_RowEditEnded(object sender, Telerik.Windows.Controls.GridViewRowEditEndedEventArgs e)
{
      데이터형식 변수 = (데이터형식)UserGridView.SelectedItem;
}

위 코드는 에디트시에 선택한 항목을 가져오는 소스이다.

사용하고자 하는 형태에 맞게 변경 하면 된다.

기본적으로 수정이 가능하지만 수정하면 안돼는 경우에는 Column의 ReadOnly Properties를 사용하면 된다.

<telerik:GridViewDataColumn UniqueName="ID" Header="사용자 ID" HeaderTextAlignment="Center" IsReadOnly="True" IsFilterable="False" MaxWidth="240" Width="120"/>

true일 경우 수정이 불가능하고 false인 경우 수정이 가능하다 기본값은 false이다.

 

Posted by 평강왕자
, |

XamOutlookbar에서 각 Group을 클릭했을때 이벤트를 잡아서 처리해야 하는 경우가 있다.

그경우 Xaml에서 아래와 같이 넣어 주면 된다.

<igOutlookBar:XamOutlookBar x:Name="outlookbar" HorizontalAlignment="Right" Margin="0,2,0,226" Width="384"

 SelectedGroupChanging="함수명" >

 

이렇게 하면 .cs파일의 함수가 호출된다.

oldSelected : 전에 선택한 그룹

newSelected : 현재 선택한 그룹

private void 함수명(object sender, Infragistics.Windows.OutlookBar.Events.SelectedGroupChangingEventArgs e)
{
    string oldSelected = e.CurrentSelectedOutlookBarGroup == null ? "null" : (string)e.CurrentSelectedOutlookBarGroup.Header;
    string newSelected = e.NewSelectedOutlookBarGroup == null ? "null" : (string)e.NewSelectedOutlookBarGroup.Header;
}

 

Posted by 평강왕자
, |

저번에 Xaml코드에서 Style을 입혀서 수정 하는 방법을 기제했다.

Blend를 사용하니 Xaml코드를 사용하여 하는 방법은 불편하다.. OTL

Blend 사용방법은 간단하다.

 

1. XamOutlookBar를 생성한다.

2. XamOutlookBar를 클릭한다.

3. 우클릭 드롭다운 메뉴중에 [템플릿 편집] -> [현재 편집] 을 클릭한다.

4. 전체 화면의 좌측 하단 개체 및 타임라인 탭에 편집 창이 활성화 된다.

5. Template -> [AdornerDecorator] -> [Border] -> [Grid] -> [Border] -> PART_Grid -> PART_SelectedGroupContent 항목의

   속성 탭에 Background 색을 바꿔주면 색이 변경 된다.

 

ps. 나머지 항목들도 한번씩 변경하면 어떤 항목인지 알 수 있다. (추후 업데이트)

Posted by 평강왕자
, |

MFC List Contorl과 비슷한 기능을 하는 컨트롤을 찾아봤다.

아직 WPF를 사용한지 얼마 안돼서 많은 기능을 모르니 그냥 말그대로 사용법만 올려야지;;

본 내용은 구글링검색을 통한 것이고 영어로 나와있는걸 그냥 한국말로 나름대로 간편하게 작성한 것이니 확실한 정보는;;

 

1. ListView를 추가한다.

2. 우측 데이터 탭을 클릭한다.

3. 데이터 탭의 예제 데이터를 클릭한다.

4. 이름을 지정하고 확인을 클릭한다.

5. 생성된 데이터의 Properties을 추가, 삭제, 변경하여 자신의 데이터에 맡게 바꿔준다.

6. ListView를 클릭한 후 마우스 우클릭을 클릭한다.

7. [데이터에 ItemSource 데이터 바인딩...] 항목을 클릭한다.

8. 데이터 필드의 위 3번에서 만들었던 데이터를 클릭한 후 확인을 클릭한다.

9. 우측 속성 탭을 클릭한다.

10. [공용속성]에 있는 View(GridView) 항목에 [새로만들기] 버튼을 클릭한다.

11. 추가된 항목에 Columns(컬렉션) 항목에 [...] 버튼을 클릭한다.

12. 팝업된 창에서 [다른 항목 추가] 버튼을 클릭한다.

13. 추가된 항목을 클릭한 후 우측에 Header항목에 표시하고자 하는 Column명을 입력한다.

 

여기까지 하였으면 ListView에 칼럼이 추가 되었을 것이다.

이제 데이터를 바인딩 하여야 하는데 이것은 UI작업보다 소스코드 수정이 더 편하다. (지극히 개인적인;;)

소스내용은 아래와 같다.

1. 변경 전

<GridViewColumn Header="Column명" /> 

2. 변경 후

<GridViewColumn Header="Column명" DisplayMemberBinding="{Binding 5번에서 만든 Properties명}"/>

 

간단하게 설명하면   5번에서 만든 예제데이터의 Properties 항목의 데이터를 Binding 한다고 생각하면 된다.

 

ps. 참고로 예제 데이터 Properties의 값은 Collection의 예제 값 편집 버튼을 클릭하여 안에 값들을 수정하면 된다.

Posted by 평강왕자
, |

C#에서 Infragistics OutlookBar를 사용하면 background색깔을 바꿀수가 없다.

이경우 스타일을 입혀줘서 변경해야 한다.

기본적으로 아래 소스가 적용 되어야 한다.

xmlns:converters="clr-namespace:Infragistics.Samples.Shared.Converters;assembly=Infragistics.Samples.Shared"
xmlns:UserControl="clr-namespace:Infragistics.Samples.Framework;assembly=Infragistics.Samples.Framework"
xmlns:igPrim="http://schemas.infragistics.com/xaml/primitives"
xmlns:res="clr-namespace:IGOutlookBar.Resources"

Style 소스는 아래와 같다.

전체를 분석 하진 못했다. 차후에 업데이트 해야지;; 주석으로 색깔변경과 각 헤더, 하단, 부분의 스타일 적용부분을 적어 놓았다.

<UserControl.Resources>
  <ResourceDictionary>
            <RadialGradientBrush x:Key="ContentAreaBg" Center="0.500,0.5" GradientOrigin="0.500,0.5" RadiusX="0.500" RadiusY="0.500">
                <RadialGradientBrush.GradientStops>
                    <GradientStopCollection>
                        <GradientStop Offset="0" Color="Red"/>
                        <GradientStop Offset="1" Color="Red"/>
                    </GradientStopCollection>
                </RadialGradientBrush.GradientStops>
            </RadialGradientBrush>
   <!-- 아이템 글자색-->
            <SolidColorBrush x:Key="NavigationGroupHeaderNormalTextFillKey" Color="#FFFFFF"/>
   <SolidColorBrush x:Key="NavigationGroupHeaderHottrackTextFillKey" Color="Black"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderActiveTextFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderNormalCenterFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderHottrackCenterFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderPressedCenterFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderActiveHottrackCenterFillKey" Color="Pink"/>
   <!-- 선택 되었을때 배경색-->
            <SolidColorBrush x:Key="NavigationGroupHeaderActiveCenterFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderInnerStrokeFillKey" Color="Pink"/>
            <SolidColorBrush x:Key="NavigationGroupHeaderFocusFillKey" Color="Black"/>
            <Style x:Key="OBGroupStyle" TargetType="ig:OutlookBarGroup">
             <Setter Property="Background" Value="#FF454343"/>
    <Setter Property="Foreground" Value="#FF454343" />
                <Setter Property="Cursor" Value="Hand"/>
                <Setter Property="FontFamily" Value="/Infragistics.Web.SampleBrowser.SilverlightLOB;component/Fonts/SEGOEUI.TTF#Segoe UI"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ig:OutlookBarGroup">
                         <!-- 선택 되지 않았을때 배경-->
                            <Border
                                x:Name="RootBorder"
                                Margin="0,0,0,1"
        Background="#FF454343"
                                BorderBrush="#FF454343"
                                BorderThickness="{TemplateBinding BorderThickness}">
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualState x:Name="Normal"/>
                                        <VisualState x:Name="MouseOverGroup">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00" Storyboard.TargetName="BackgroundBorder"  Storyboard.TargetProperty="Background">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource ContentAreaBg}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Selected">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="BackgroundBorder"
                                                    Storyboard.TargetProperty="Background">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource NavigationGroupHeaderActiveCenterFillKey}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Pressed">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00" Storyboard.TargetName="BackgroundBorder"  Storyboard.TargetProperty="Background">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource ContentAreaBg}"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="IconAndHeaderStates">
                                        <VisualState x:Name="IconAndHeader"/>
                                        <VisualState x:Name="LargeIconOnly">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="Header"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="SmallIconControl"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="LargeIconControl"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="SmallIconOnly">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="Header"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="expandGlyph"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="dotRule"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="SmallIconControl"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Visible"/>
                                                </ObjectAnimationUsingKeyFrames>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="LargeIconControl"
                                                    Storyboard.TargetProperty="(UIElement.Visibility)">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="Collapsed"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="LargeIconSpaceStates">
                                        <VisualState x:Name="ReserveSpace"/>
                                        <VisualState x:Name="NoSpace">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames
                                                    BeginTime="00:00:00"
                                                    Duration="00:00:00.001"
                                                    Storyboard.TargetName="ImageColumn"
                                                    Storyboard.TargetProperty="Width">
                                                    <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="0"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                                <Grid>
                                    <Border x:Name="BackgroundBorder" Background="Transparent"/>
                                    <Grid Margin="{TemplateBinding Padding}">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition x:Name="ImageColumn" Width="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <ContentControl
                                            x:Name="SmallIconControl"
                                            Width="16"
                                            Height="16"
                                            Grid.Column="0"
                                            Margin="4,7,5,7"
                                            Content="{Binding}"
                                            ContentTemplate="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=SmallIconTemplateResolved}"
                                            HorizontalContentAlignment="Stretch"
                                            VerticalContentAlignment="Stretch"
                                            Visibility="Collapsed"/>
                                        <ContentControl
                                            x:Name="LargeIconControl"
                                            Width="24"
                                            Height="24"
                                            Grid.Column="0"
                                            Margin="4,4,5,2"
                                            Content="{Binding}"
                                            ContentTemplate="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=LargeIconTemplateResolved}"
                                            HorizontalContentAlignment="Stretch"
                                            VerticalContentAlignment="Stretch"/>
                                        <ContentControl
                                            x:Name="Header"
                                            Grid.Column="1"
                                            Margin="4,0,2,1"
                                            VerticalAlignment="Center"
                                            Content="{TemplateBinding Header}"
                                            ContentTemplate="{TemplateBinding HeaderTemplate}"
                                            FontWeight="Bold"
                                            Foreground="{StaticResource NavigationGroupHeaderNormalTextFillKey}"/>
                                        <Rectangle
                                            x:Name="dotRule"
                                            Height="1"
                                            Grid.ColumnSpan="2"
                                            VerticalAlignment="Bottom"
                                            Stroke="#FF454343"
                                            StrokeDashArray="2"/>
                                        <Path
                                            x:Name="expandGlyph"
                                            Width="6"
                                            Height="6"
                                            Grid.Column="1"
                                            HorizontalAlignment="Right"
                                            Margin="0,5,5,0"
                                            VerticalAlignment="Top"
                                            Data="M 2,0 C2,0 2,2 2,2 2,2 0,2 0,2 0,2 0,4 0,4 0,4 2,4 2,4 2,4 2,6 2,6 2,6 4,6 4,6 4,6 4,4 4,4 4,4 6,4 6,4 6,4 6,2 6,2 6,2 4,2 4,2 4,2 4,0 4,0 4,0 2,0 2,0 z"
                                            Fill="#FF454343"/>
                                    </Grid>
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
   <!-- 헤더 Style -->
            <Style x:Key="GroupHeaderStyle" TargetType="igPrim:SelectedGroupHeader">
             <Setter Property="Background" Value="#FF454343"/>
                <Setter Property="BorderBrush" Value="#FF454343"/>
    <!-- 글자색-->
    <Setter Property="Foreground" Value="#FFFFFF"/>
                <Setter Property="Padding" Value="0"/>
            </Style>
            <Style x:Key="HorizontalSplitterStyleKey" TargetType="Thumb">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Thumb">
                            <Grid VerticalAlignment="Stretch" Height="6" Background="White">
                                <Rectangle Height="4" Stroke="#FFFFFF" StrokeDashArray="2" VerticalAlignment="Center"/>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
   <!-- 하단스타일 -->
            <Style x:Key="overflowStyle" TargetType="igPrim:GroupOverflowArea">
                <Setter Property="Background" Value="#FF454343"/>
            </Style>
            <Style x:Key="OBStyle" TargetType="ig:XamOutlookBar">
                <Setter Property="Margin" Value="0"/>
                <Setter Property="FontFamily" Value="/Infragistics.Web.SampleBrowser.SilverlightLOB;component/Fonts/SEGOEUI.TTF#Segoe UI"/>
                <Setter Property="HorizontalSplitterStyle" Value="{StaticResource HorizontalSplitterStyleKey}"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ig:XamOutlookBar">
                            <Border x:Name="root" VerticalAlignment="Stretch">
                                <Grid VerticalAlignment="Stretch">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto"/>
                                        <ColumnDefinition/>
                                        <ColumnDefinition Width="Auto"/>
                                    </Grid.ColumnDefinitions>
                                    <Border
                                        Grid.Column="1"
                                        VerticalAlignment="Stretch"
                                        Background="#FFFFFF"
                                        BorderBrush="#FFFFFF"
                                        BorderThickness="{TemplateBinding BorderThickness}"
                                        Padding="{TemplateBinding Padding}">
                                        <Grid x:Name="MainGrid">
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="Auto"/>
                                                <RowDefinition Height="*" MinHeight="{TemplateBinding SelectedAreaMinHeight}"/>
                                                <RowDefinition Height="Auto"/>
                                                <RowDefinition Height="Auto"/>
                                                <RowDefinition Height="Auto" MinHeight="0"/>
                                            </Grid.RowDefinitions>
                                            <StackPanel>
                                                <igPrim:SelectedGroupHeader
                                                    x:Name="SelectedGroupHeader"
                                                    Height="50"
             
                                                    FontWeight="Bold"
                                                    Style="{StaticResource GroupHeaderStyle}"/>
                                            </StackPanel>
           <!-- 중앙 Content  스타일 -->
                                            <igPrim:SelectedGroupContent x:Name="SelectedGroupContent" Background="#FF454343"  Grid.Row="1"/>
                                            <Thumb
                                                x:Name="Splitter"
                                                Grid.Row="2"
                                                Margin="0,1,0,1"
                                                Background="Transparent"
                                                Cursor="SizeNS"
                                                Style="{TemplateBinding HorizontalSplitterStyle}"/>
           <!-- 아이템 스타일 -->
                                            <ItemsControl  x:Name="NavigationArea" Grid.Row="3">
                                                <ItemsControl.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Top" Orientation="Vertical"/>
                                                    </ItemsPanelTemplate>
                                                </ItemsControl.ItemsPanel>
                                            </ItemsControl>
           <!-- 하단 선택 옵션 메뉴-->
                                            <igPrim:GroupOverflowArea x:Name="OverflowArea" Grid.Row="4" Style="{StaticResource overflowStyle}"/>
                                            <Canvas>
                                                <ig:XamDialogWindow
                                                    x:Name="NavigationPaneOptionsWindow"
                                                    Header="{Binding RelativeSource={RelativeSource Self}, Path=StringsSettings.StringSettings.NavigationPaneOptionsDialogTitle}"
                                                    HorizontalContentAlignment="Stretch"
                                                    IsResizable="False"
                                                    MaximizeButtonVisibility="Collapsed"
                                                    MinimizeButtonVisibility="Collapsed"
                                                    StartupPosition="Center"
                                                    VerticalContentAlignment="Stretch"
                                                    WindowState="Hidden">
                                                    <igPrim:NavigationPaneOptionsControl/>
                                                </ig:XamDialogWindow>
                                            </Canvas>
                                        </Grid>
                                    </Border>
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ResourceDictionary> 
 </UserControl.Resources>

위 스타일을 아래와 같이 적용하면 된다.

<ig:XamOutlookBar Style="{StaticResource OBStyle}"   HorizontalAlignment="Right" Height="978" VerticalAlignment="Top" Width="384" Margin="0">

Posted by 평강왕자
, |

최근에 달린 댓글

글 보관함