質問編集履歴

2 XMLコードの追加

Praline

Praline score 23

2017/03/08 21:42  投稿

ItemsControlでContentPresenterを指定するとビルドエラーになる
###前提・実現したいこと
https://teratail.com/questions/67656
こちらの質問の続きになります…
###発生している問題・エラーメッセージ
ビルドしたところ、以下のエラーが表示されます。
`追加情報:型 'ListBoxItem' 用のスタイルは、型 'ContentPresenter' に適用できません。`
ContentPresenterを指定するとのことですが、この部分がエラーになっているようです。
03/08追記 コピペですが…  
```XML  
           <ItemsControl ItemsSource="{Binding Samples}" DockPanel.Dock="Bottom">  
               <ItemsControl.Template>  
                   <ControlTemplate TargetType="ItemsControl">  
                       <Border BorderThickness="0"  
                                   BorderBrush="Black"  
                                   Background="Azure">  
                           <ItemsPresenter Margin="0" />  
                       </Border>  
                   </ControlTemplate>  
               </ItemsControl.Template>  
 
               <ItemsControl.ItemsPanel>  
                   <ItemsPanelTemplate>  
                       <StackPanel Orientation="Horizontal" />  
                   </ItemsPanelTemplate>  
               </ItemsControl.ItemsPanel>  
 
               <ItemsControl.ItemTemplate>  
                   <DataTemplate>  
                       <TextBlock Margin="5">  
                           <Run Text="No." />  
                           <Run Text="{Binding Number}" />  
                           <LineBreak />  
                           <Run Text="Name:" />  
                           <Run Text="{Binding Name}" FontSize="15" />  
                       </TextBlock>  
                   </DataTemplate>  
               </ItemsControl.ItemTemplate>  
 
               <ItemsControl.ItemContainerStyle>  
                   <Style TargetType="ListBoxItem">  
                       <Setter Property="OverridesDefaultStyle" Value="True" />  
                       <Setter Property="Template">  
                           <Setter.Value>  
                               <ControlTemplate TargetType="{x:Type ContentControl}">  
                                   <Border Background="{TemplateBinding Background}">  
                                       <ContentPresenter />  
                                   </Border>  
                               </ControlTemplate>  
                           </Setter.Value>  
                       </Setter>  
                       <Style.Triggers>  
                           <Trigger Property="IsSelected" Value="True">  
                               <Setter Property="Background" Value="Plum" />  
                           </Trigger>  
                           <Trigger Property="IsMouseOver" Value="True">  
                               <Setter Property="Background" Value="LightGray" />  
                           </Trigger>  
                       </Style.Triggers>  
                   </Style>  
               </ItemsControl.ItemContainerStyle>  
                 
           </ItemsControl>  
```  
 
###確認したいこと
- ItemsControlで使用するコンテナ要素は、'ListBoxItem'で正しいか
http://blog.shibayan.jp/entry/20081211/1228988541
ココらへんを参考にすると、TargetTypeをContentPresenterに指定するとのことですが、そうすると`Property="Template"`にアクセスできません。
- `<ItemsControl.ItemContainerStyle>`で表示されるエラーをどのように解消するか。
よろしくお願いいたします。
  • Visual Studio

    2409 questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • VB.NET

    1071 questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • WPF

    843 questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1 タイトル変更

Praline

Praline score 23

2017/03/08 10:11  投稿

ItemsControlで使用するコンテナ要素の指定について
ItemsControlでContentPresenterを指定するとビルドエラーになる
###前提・実現したいこと
https://teratail.com/questions/67656
こちらの質問の続きになります…
###発生している問題・エラーメッセージ
ビルドしたところ、以下のエラーが表示されます。
`追加情報:型 'ListBoxItem' 用のスタイルは、型 'ContentPresenter' に適用できません。`
ContentPresenterを指定するとのことですが、この部分がエラーになっているようです。
###確認したいこと
- ItemsControlで使用するコンテナ要素は、'ListBoxItem'で正しいか
http://blog.shibayan.jp/entry/20081211/1228988541
ココらへんを参考にすると、TargetTypeをContentPresenterに指定するとのことですが、そうすると`Property="Template"`にアクセスできません。
- `<ItemsControl.ItemContainerStyle>`で表示されるエラーをどのように解消するか。
よろしくお願いいたします。
  • Visual Studio

    2409 questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • VB.NET

    1071 questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • WPF

    843 questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る