2011-03-08 3 views
0

현재 작업을 나타내는 여러 버튼으로 구성된 인터페이스가있는 응용 프로그램에서 데이터베이스의 각 레코드에 하나의 작업 만 할당 할 수 있습니다. 사용자가 작업을 선택하면 3 개의 추가 버튼 중 하나를 선택 항목으로 구성됩니다.버튼을 기준으로 한 WPF 동적 위치 지정

이 작업을 수행하는 한 가지 방법은 모든 동작 버튼 (7x3)에 대해 정확한 위치에 3 개의 추가 버튼을 정의하고 클릭 한 동작 버튼을 기반으로 한 세트 만 표시하는 것입니다. 그러나 이들의 버튼 값은 각 동작에 대해 동일하므로 한 번 클릭하여 정의한 후 클릭하면 해당 동작 버튼과 관련된 적절한 위치에 표시 될 수 있습니다.

WPF에서이 작업을 수행 할 수있는 방법이 있습니까?

답변

1

WPF에서 여러 가지 방법이 있습니다. 나는 간단한 그리드 컨트롤을 사용하는 것입니다 생각, 뭔가 같은 : 이제

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
     <RowDefinition /> 
     ...... 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <Button Grid.Row="0" Grid.Column="0">Button 1</Button> 
    <Button Grid.Row="1" Grid.Column="0">Button 2</Button> 
    <Button Grid.Row="2" Grid.Column="0">Button 3</Button> 
    ...... 

    <StackPanel Name="PanelWithSuboptions" Grid.Column="1" Visibility="Collapsed"> 
     <Button>Suboption A</Button> 
     <Button>Suboption B</Button> 
     <Button>Suboption C</Button> 
    </StackPanel> 
</Grid> 

버튼 1 버튼 2 버튼 3, 0으로 설정 PanelWithSuboptions '[Grid.Row][1] 연결된 속성, 일 각각 2, 그것을 클릭하면 Visible을 (를) Visible로 설정하면 적절한 '기본'버튼 근처에 나타납니다.

다른 방법으로는 UserControl을 만들거나 다른 3 개의 작은 단추가 포함 된 주 단추 각각에 대해 사용자 지정 컨트롤 템플릿을 사용하는 것이 좋습니다.

+0

감사합니다. 나는 PanelWithSuboptions.setValue (Grid.RowProperty, x)와 함께 이것을 사용하고 Button Click에서 Visibility를 변경했다. – MattP