문제

그래서 콘텐츠 구성으로 사용하는 스택 패널이 있습니다. 나는 내가 바인딩하는 데이터를 기반으로 버튼을 생성하고 싶은 곳이 있고, 그것은 모두 잘 작동하지만, 버튼이 현재 일어나고있는 것처럼 수직으로 가로로 배치되기를 원합니다. 스크린 샷은 다음과 같습니다.

alt text

그리고 내 ContentTemplate 설명의 코드는 다음과 같습니다.

<StackPanel Name="wpReleaseButtons" Orientation="Horizontal" Grid.Row="2">
    <ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Tag="{Binding}" Padding="3">
                     <TextBlock Text="{Binding Path=DisplayValue}" />
                </Button>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</StackPanel>

내가 뭘 잘못하고 있는지 잘 모르겠습니다. 모든 정보는 대단히 감사하겠습니다. 감사!

도움이 되었습니까?

해결책

나는 그것이 보이는 것처럼 보인다 ItemsControl 버튼을 수직으로 표시하는 것입니다. 버튼을 원한다면 ItemsControl 수평이 되려면 필요합니다 StackPanel 안에 있어야합니다 ItemsControl ItemsPanelTemplate, 코드에있는 것과 같은 다른 방법은 아닙니다.

<ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Button Tag="{Binding}" Padding="3">
                <TextBlock Text="{Binding Path=DisplayValue}" />
            </Button>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

나는 약간 잘못 될 수있다 ItemsControl.ItemsPanel 테스트 할 데이터가 없었기 때문에 ...

편집하다: BEA 참조 외에도 좋은 것들이 있습니다. 박사 WPF.

다른 팁

나는 당신의 이미지를 볼 수 없습니다 (회사의 방화벽에 의해 차단되었습니다). 그러나 여기서 나는 어쨌든 간다 ...

당신의 '오리엔테이션 = "수평"'은 아마도 그대로 작동 할 것입니다. 그것은 하나의 자식 요소, Itemscontrol 만 포함합니다. 대신, 컨트롤 템플릿에 오리엔테이션 = "수평"이있는 스택 패널이 포함 된 ItemsControl에 대한 ControlTemplate을 만들어보십시오.

도움이 되었기를 바랍니다!

편집하다:

다시 한번, Bea는 답변/예를 들었습니다!

http://bea.stollnitz.com/blog/?p=10

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top