Perhaps Oskari is the only one that can answer this as it should work...
If I try to add or modify the template for the main background grid on machine view, I always get an exception. I can't figure out why... it's clearly a grid... do I need to target a different element instead?
Code: Select all
<Style x:Key="BackgroundGridStyleBase" TargetType="{x:Type Grid}">
<Setter Property="Background" Value="Red"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Grid}>
<Grid Background="Blue">
<Rectangle Fill="#DAD6C9"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
I can do what I want to do using VisualBrush, but you lose all the datacontext since visualbrush is outside the visual and element/logical tree.. so then binding to values (like theme colors) won't work.
e.g.
Code: Select all
<Style x:Key="BackgroundGridStyleBase" TargetType="{x:Type Grid}">
<Setter Property="Background" Value="{Binding Path=Buzz.ThemeColors[MV Background]}"/>
<Setter Property="Background">
<Setter.Value>
<VisualBrush Viewport="0.25,0.25,0.5,0.5" >
<VisualBrush.Visual>
<Grid>
<Rectangle Fill="{Binding Path=Buzz.ThemeColors[MV Background]}"/>
<!--<Rectangle Fill="#DAD6C9"/> -->
<Image Name="ThemeBG" Source="gfx/themewallpaper.png" Stretch="UniformToFill" Opacity=".0" po:Freeze="True"/>
<Canvas>
<Grid Canvas.Left="10" Canvas.Top="19" >
<TextBlock Name="thing" Text="WHAT" Foreground="Black" FontWeight="Normal" FontFamily="Veranda" FontSize="40"/>
</Grid>
</Canvas>
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Setter.Value>
</Setter>
</Style>
anyways, only posting here as a last resort.. i've fucked with this basic ass thing for too long and im about to move on to something else.
i also dug through all the machineview/canvas/etc. code to see if there was another spot i could get to the machineview background grid, but didnt really have any luck. maybe there's something with viewGrid / l:machinecanvas, but i can't figure it out.