2017-05-15 25 views
0

私は、UWPのdatatemplateのトグルボタン付きListviewを持っています。リストビューをitemwrapgridとして設定しました。私はトグルボタンの内容の長さに基づいて項目の異なる幅を割り当てようとしています。誰でも私にこれを手伝うことができますか?UWP ItemsWrapgridのリストビューのアイテムの内容に基づいた幅の設定

<ListView x:Name="lstVw1" IsMultiSelectCheckBoxEnabled="True" Margin="0,20,0,0"> 
        <ListView.ItemsPanel> 
         <ItemsPanelTemplate> 
          <ItemsWrapGrid Orientation="Horizontal" Width="Auto" HorizontalAlignment="Stretch"></ItemsWrapGrid> 
         </ItemsPanelTemplate> 
        </ListView.ItemsPanel> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
          <ToggleButton Style="{StaticResource ButtonStyle}" Content="{Binding ItemText}" Click="ToggleButton_Click"> 
          </ToggleButton> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
        <ListView.ItemContainerStyle> 
         <Style TargetType="ListViewItem"> 
          <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 

          <Setter Property="Template"> 
           <Setter.Value> 
            <ControlTemplate> 
             <ContentPresenter Padding="5"/> 
            </ControlTemplate> 
           </Setter.Value> 
          </Setter> 
         </Style> 

        </ListView.ItemContainerStyle> 
       </ListView> 

上記のXAMLは、私が上記のカスタムラップパネルを作成したリストの中equalyサイズのトグルボタンに

答えて

1

私はUWP Community ToolkitからWrapPanelを使用します。あなたはnugetパッケージをダウンロードしてWrapPanelが誤っMicrosoft.Toolkit.Uwp.Controls.WrapPanel名前空間に置かれたこと

<ListView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <wrapPanel:WrapPanel Orientation="Horizontal"/> 
    </ItemsPanelTemplate> 
</ListView.ItemsPanel> 

注WrapPanelであるためにあなたのListViewのあなたのItemsPanelを変更するので、あなたのXAMLでwrapPanel名前空間を宣言する必要がありますすることができます

xmlns:wrapPanel="using:Microsoft.Toolkit.Uwp.Controls.WrapPanel" 
+0

注意を –

0

これは、デフォルトではまさにそのように動作します - ItemTemplateは、コンテンツに合わせて拡大していきます。 ItemsStackPanelItemsPanelTemplateとする必要があります。あなたは間違っていた何

はこのラインである、あなたはそれを削除する必要があります。コントロールは、バージョン2.0で適切な `Microsoft.Toolkit.Uwp.Controls`ネームスペースに移動すること

<Setter Property="HorizontalContentAlignment" Value="Stretch" />