I have a weird error I'm trying to debug with no luck.
I have subclassed hwndhost showing some content, I have the following function in that class to set to fullscreen:
private void SetFullScreen(bool enable)
{
if (enable)
{
fs = new Window();
fs.ResizeMode = ResizeMode.NoResize;
fs.WindowState = System.Windows.WindowState.Maximized;
fs.WindowStyle = System.Windows.WindowStyle.None;
fs.Topmost = true;
fs.PreviewKeyDown += delegate(object sender, KeyEventArgs e) {
if (e.Key==Key.Escape)
FullScreen = false;
};
fs.Show();
}
else
{
fs.Close();
fs = null;
}
}
This worked fine in my prototype WPF app but when I use this code in my main app I get this error when closing the window (escape key) and on fs.close()
call:
'{DependencyProperty.UnsetValue}' is not a valid value for property 'FocusVisualStyle'.
The weird thing is it happens about 1500ms AFTER the window closes. I've tried setting FocusVisualStyle on fs
to null, but it looks like something else. Gut feeling is it's trying to focus another element in my app that doesn't have this property, but really I have no idea!
Thanks!
Edit. Problem was custom setting of FocusVisualStyle on my fullscreen button. I set to {x:Null} and the problem went away.
This can happen when a Style is pointing to a StaticResource
that does NOT exist.
This xaml was failing:
<Grid.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Height" Value="{StaticResource StandardControlHeight}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
</Grid.Resources>
The error was:
System.InvalidOperationException: ''{DependencyProperty.UnsetValue}' is not a valid value for property 'Height'.'
When I added the missing StaticResource
, the problem went away.