diff --git a/ModManager/Views/Components/ModTweaker.xaml b/ModManager/Views/Components/ModTweaker.xaml index 9370ac0..7712c82 100644 --- a/ModManager/Views/Components/ModTweaker.xaml +++ b/ModManager/Views/Components/ModTweaker.xaml @@ -100,25 +100,29 @@ + Margin="0,4" + Background="{DynamicResource ComponentColorBrush}" + BorderThickness="1" + BorderBrush="{DynamicResource InteractiveComponentColorBrush_Light}" + CornerRadius="3"> - + + + Margin="3" + FontWeight="SemiBold" + TextWrapping="Wrap"/> @@ -208,12 +214,18 @@ + + diff --git a/ModManager_Classes/Models/ModTweaker/DataModel/Tweaking/ExposedModValueFactory.cs b/ModManager_Classes/Models/ModTweaker/DataModel/Tweaking/ExposedModValueFactory.cs index dee863b..20a75a3 100644 --- a/ModManager_Classes/Models/ModTweaker/DataModel/Tweaking/ExposedModValueFactory.cs +++ b/ModManager_Classes/Models/ModTweaker/DataModel/Tweaking/ExposedModValueFactory.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using System.Xml; +using System.Xml.XPath; namespace Imya.Models.ModTweaker.DataModel.Tweaking { @@ -19,6 +20,16 @@ public class ExposedModValueFactory Expose.TryGetAttribute(TweakerConstants.DESCRIPTION, out string? description); Expose.TryGetAttribute(TweakerConstants.TOOLTIP, out string? tooltip); + try + { + var checkPath = XPathExpression.Compile(Path); + } + catch (XPathException e) + { + Console.WriteLine($"Invalid XPath: {ExposeID} - {Path}"); + return null; + } + ExposedModValueType type = ExposedModValueType.SimpleValue; Expose.TryGetAttribute(TweakerConstants.KIND, out string? Kind); if (Kind is string valid_kind && Enum.TryParse(valid_kind, out var _val))