Search code examples
wpfstylesxamlreader

How to load style using xamlreader


How can i load style from below xaml using XamlReader.Load()

<Window
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
        xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
>
<ResourceDictionary>
        <Style x:Key="LastRowHighlighted"
        BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}"
               TargetType="{x:Type dxg:GridRowContent}">
        </Style>
</ResourceDictionary>

Solution

  • Try something like this:

    public void LoadStyle(string fileName)
    {
        if (File.Exists(fileName))
        {
            try
            {
                using (FileStream fileStream = new FileStream(fileName, FileMode.Open, 
    FileAccess.Read, FileShare.Read))
                {
                    ResourceDictionary resourceDictionary = (ResourceDictionary)XamlReader.
    Load(fileStream);
                    Resources.MergedDictionaries.Clear(); // optional
                    Resources.MergedDictionaries.Add(resourceDictionary);
                }
            }
            catch { }
        }
    }