私はWPFの適切なアプリケーションについての講義を依頼していると思いますが、私はウィットの終わりからチャンスを取るつもりです。これは主にWPFのテンプレートとスタイルを完全に採用していることによる煩わしさの結果であると思いますので、私はそのような講義を聞いてうれしいです。WPFのカスタムContentControl
私はある種のオーディオエディタ/イベントオーケストレーターを書いています。私はかなり満足しているトラックエディタを持っています。しかし、私はそれをカスタムコントロールから大部分を構築しました(私は知っています、これはおそらくWPFの罪です)。そのテーマに合わせて、私はトラックの標準ヘッダーを作りたいと思いますが、個々のトラックの "タイプ"がそのヘッダーの内容を定義できるようにしたいと思います。私は、エッジ上に一種の「グリップ」を定義し、その後、実装者がその物質を「埋める」ことを許可するコントロールがうまくいくと考えました。しかし、スタイルを使用せずにWPFでこれを行う方法はわかりません。スタイルを使用しても、これを理解したいと思います。
これはおそらく、単純なContentControlコントロール(ボタンなど)の典型的な実装を必要とし、AvalonDockを見つけることができないということになります(これはAvalonDockを使用します。 )。私の頭では、XAMLは、このようなものになります。
<ContentControl x:Class="TestArea.CustomContentControl2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Hello"/>
<ContentPresenter Grid.Column="1"/>
</Grid>
をしかし、もちろん、それは動作しません。私は舞台裏で過負荷でトリックをすることで同じことをやることができるとはかなり確信していますが、このようなことができればいいと思います。私は本当に私の後ろに私のひどい、手続き的な方法を入れて、あなたが話すこれらのスタイルを使用する必要がありますか?もしそうなら、誰かが少なくとも、そのボタンがフレームワーク内でどのように見えるのか教えてもらえますか?
これは、私が言及したスタイルのアプローチです。 OK、ローマ/レドモンドにいるとき... – Jeff
スタイルやテンプレートで "豚全体"に行く必要はありません。これは終わりのための手段にすぎません。インテリアを任意のコンテンツにすることです。上記の内容をUserControlの代わりにControlTemplateに入れて、最終結果を探しています。宗教的な転換は必要ありません! –
リンクが無効です。 – Kilazur