この目的でlyncクライアントを使用しているメッセンジャーアプリケーションを作成しています。私のアプリケーション UI では、リストビューで連絡先 ( name 、 image などのプロパティを持つ LyncClient のオブジェクト) を取得し、次のように定義されているデータ テンプレートにそれらを読み込みます。
<DataTemplate x:Key="ContactsTemplate">
<Grid HorizontalAlignment="Left" Width="150" Height="150" Margin="10">
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
<Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<StackPanel VerticalAlignment="Bottom" Background="{Binding Availability, Converter={StaticResource AvailabilityToPresenceColor}}" Opacity="0.75">
<TextBlock Text="{Binding Name}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="20" Margin="15,0,15,15"/>
</StackPanel>
</Grid>
</DataTemplate>
連絡先の画像と名前を示す画像とテキストブロックがあり、その下に示すように、スタックパネルの背景は、可用性ステータスを色にマップするコンバーターにバインドされているため、たとえば、スタックパネルの背景は、連絡先が混雑しています。
今私の質問は、画像に同じ効果を持たせる方法ですか?(プレゼンスステータスに応じて画像をグレーまたは赤にします)
私はバインディングに慣れていないので、このバインディングの概念に完全に迷っています。
私の考えは次のとおりでした:画像のエフェクトイベントハンドラーが あるので、この目的のためにそれを使用することを考えました
<Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title} effect="{Binding Availability, Converter={StaticResource AvailabilityToPresenceColor}}"/>
ある条件下でコンバーター内で画像ソースを取得する必要があるコードを使用したいのですが、バインディング <Image Source="{Binding Image}"
を介して画像ソースを取得しているため、コンバーターで画像ソースを取得できません。
あなたのアイデアを私に提案してください。