私はwpfを初めて使用し、トリガーをよりよく理解するのに役立つ優れたチュートリアルを探していますが、運があまりありません。だから私はここで助けを求めると思いました。これが私がやろうとしていることです。スタックパネルを備えたScrollViewerがあります。背後のコードで、メディアフォルダーを参照し、foreachループを使用してMediaElementsをスタックパネルに追加しました。ユーザーが1つにカーソルを合わせたときに実行します。これらのうち、私はそれをその下で輝かせたいです、私はトリガーが行く方法であると言われています、それでこれが私がこれまでに持っているものです
foreach
MediaElement newVideoPreview = new MediaElement();
newVideoPreview.Width = 125;
newVideoPreview.Stretch = Stretch.Uniform;
newVideoPreview.Margin = new Thickness(5, 5, 5, 5);
newVideoPreview.Volume = 0;
Trigger trig = new Trigger();
trig.Property = IsMouseOverProperty;
trig.Value = true;
Style style = new Style();
style.TargetType = newVideoPreview.GetType();
style.Triggers.Add(trig);
Setter set = new Setter();
OuterGlowBitmapEffect glow = new OuterGlowBitmapEffect();
glow.GlowColor = Color.FromRgb(0, 0, 205);
glow.GlowSize = 10;
set.Value = glow; // <- Crash house
set.Property = EffectProperty;
style.Setters.Add(set);
newVideoPreview.Style = style;
ご覧のとおり、setter.valueを設定しようとすると、無効な引数の例外が発生します。これを修正する方法や改善する方法、またはより良いチュートリアルの提案を探しています...助けてくれてありがとう
ps私はVS2010ベータ2を使用しています
アップデートIveもこれを試してみました。
<UserControl x:Class="WiiDSUKiosk.WiiFriendlyScrollViewer"
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.Resources>
<Style TargetType="{x:Type UIElement}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="BitmapEffect">
<Setter.Value>
<OuterGlowBitmapEffect GlowColor="Navy" GlowSize="10"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<ScrollViewer Name="wiiFriendlyScrollViewer" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
MouseMove="wiiFriendlyScrollViewer_MouseMove" >
<StackPanel Name="stackPanelContent" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden">
</StackPanel>
</ScrollViewer>
</Grid>