私はListBoxをObservableCollectionにバインドしており、ItemsPanelとしてキャンバスを使用しています。すべてが期待どおりに機能します - 私はアイテムのドラッグを実装しましたが、問題はクリックされたアイテムのZIndexを設定できないことです。デバッグは、すべてのアイテムがZIndexが0であることを示しています。これは私には奇妙に見えます。私が望むのは、アイテムをクリックしたときに前面に持ってきて、リリース時に返信することです。誰かが私に何かアイデアを与えることができますか?便利なコードをお気軽にお尋ねください。ObservableCollectionのZIndexがバインドされていますListBox
更新:これは、ウィンドウのリソース
<Style x:Key="MediaContainerStyle" TargetType="ListBoxItem">
<Setter Property="Canvas.Left" Value="{Binding MediaPosition.X,UpdateSourceTrigger=PropertyChanged}"/>
<Setter Property="Canvas.Top" Value="{Binding MediaPosition.Y,UpdateSourceTrigger=PropertyChanged}"/>
<Setter Property="Panel.ZIndex" Value="{Binding ZIndex,UpdateSourceTrigger=PropertyChanged}"/>
</Style>
項目MediaItemViewユーザーコントロールである
<DataTemplate x:Key="MediaDataTemplate">
<views:MediaItemView MouseDown="OnMediaItemMouseDown"
MouseMove="OnMediaItemMouseMove"/>
</DataTemplate>
ためのテンプレートとして定義され、ItemsContainerStyleあります。背後にあるコードでは
、私はもちろん、ダブルプロパティのZIndex
あなたのコードを見ることなく伝えるのは難しいです。ただし、ItemTemplateではなく、ItemContainerStyleにZIndexを設定してください。 – Clemens
私はそれを試みました。 ItemContainerStyleのPanel.ZIndexを、下にあるviewmodelのプロパティにバインドし、マウスを押し下げて変更しましたが、機能しません。どのようなコードを見たいですか? –
"どのようなコードを見たいですか?"すべての関連するもの、つまりリストボックスのXAMLとビューモデルの対応する部分 – Clemens