我最近不得不這樣做,並驚訝於當我無法輕鬆找到任何明確的例子時,它有多簡單。我所做的是以下內容添加到AssemblyInfo.cs中:
#if DEBUG
[assembly: XmlnsDefinition("debug-mode", "Namespace")]
#endif
然後,使用標記,兼容性命名空間的AlternateContent標籤基於該命名空間定義的presense選擇你的內容:
<Window x:Class="Namespace.Class"
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="debug-mode"
Width="400" Height="400">
...
<mc:AlternateContent>
<mc:Choice Requires="d">
<Style TargetType="{x:Type ToolTip}">
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FlowDirection" Value="LeftToRight"/>
</Style>
</mc:Choice>
<mc:Fallback>
<Style TargetType="{x:Type ToolTip}">
<Setter Property="FontFamily" Value="Tahoma"/>
<Setter Property="FlowDirection" Value="RightToLeft"/>
</Style>
</mc:Fallback>
</mc:AlternateContent>
...
</Window>
現在,當DEBUG被定義時,「調試模式」也將被定義,並且「d」命名空間將會出現。這使得AlternateContent標籤選擇第一個代碼塊。如果未定義DEBUG,則將使用代碼的後備代碼塊。
此示例代碼未經過測試,但它基本上與我在當前項目中使用的相同,以有條件地顯示某些調試按鈕。
我的確看到了一些依賴於「Ignorable」標籤的示例代碼的博客文章,但是這種方法看起來並不那麼清晰易用。
來源
2013-11-12 21:21:51
bj0
你想完成什麼? – tsells 2012-01-04 18:57:00
我需要在調試模式下有不同的風格,這樣我才能在調試模式下輕鬆執行。 – 2012-01-04 19:16:21