我想要改变颜色的边框窗口手机应用程序取决于当前选定的主题。我写了以下几篇文章,但都没有用。它始终是白色边框,而不管选择的主题是什么。
下面是应用程序(contacts.xaml)使用的xaml代码。
XAML码
<StackPanel x:Name="StackPost_Viewer">
<Border BorderBrush="White" BorderThickness="3" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="436" Tap="Show_ContactList_gsecs">
<TextBlock TextWrapping="Wrap" Text="General Secretaries Social and Cultural" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border BorderBrush="White" BorderThickness="3" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="436" Tap="Show_ContactList_publicity">
<TextBlock TextWrapping="Wrap" Text="Publicity" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border BorderBrush="White" BorderThickness="3" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="436" Tap="Show_ContactList_events">
<TextBlock TextWrapping="Wrap" Text="Events" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border BorderBrush="White" BorderThickness="3" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="436" Tap="Show_ContactList_spons">
<TextBlock TextWrapping="Wrap" Text="Marketing and Sponsorship" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border BorderBrush="White" BorderThickness="3" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="436" Tap="Show_ContactList_finance">
<TextBlock TextWrapping="Wrap" Text="Finance" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</StackPanel>对应的c#码(contacts.xaml.cs)
C#代码
public contacts()
{
InitializeComponent();
if (!isDarkTheme())
{
StackPanel main_stack = StackContact_Viewer;
var borders = main_stack.Children.OfType<Border>();
foreach (Border each in borders)
{
each.BorderBrush = new SolidColorBrush(Colors.Black);
}
}
else
{
StackPanel main_stack = StackContact_Viewer;
var borders = main_stack.Children.OfType<Border>();
foreach (var each in borders)
{
each.BorderBrush = new SolidColorBrush(Colors.White);
}
}
}
private bool isDarkTheme()
{
return Visibility.Visible == (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
}发布于 2014-01-12 17:48:35
如果您只希望您的边框颜色是黑色的黑暗主题和白色的光主题,那么您可以简单地定义您的边框元素为
<Border BorderBrush="{StaticResource PhoneBackgroundBrush}" ...然后,您不需要在构造函数中编写任何代码来更改颜色。
发布于 2016-04-06 05:19:00
试试这个
XAML
<Border Name="border" BorderThickness="3">
<TextBlock Text="General Secretaries Social and Cultural" />
</Border>C#
border.BorderBrush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red);https://stackoverflow.com/questions/21076818
复制相似问题