Было бы возможно использовать 'смежный одноуровневый селектор', если бы эти input
был перед label
. Просто поместите input
перед эти label
и затем измените расположение для помещения label
перед input
. Вот пример:
<head runat="server">
<title></title>
<style type="text/css">
input:focus + label {font-weight: bold}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="direction:rtl">
<input type="text" id="username" />
<label for="username">Username:</label>
</div>
<div style="direction:rtl">
<input type="password" id="password" />
<label for="password">Password:</label>
</div>
</form>
</body>
(Это - своего рода взлом, я лично использовал бы JavaScript, чтобы сделать это)
input:focus + label {font-weight: bold}
<form id="form1" runat="server">
<div style="direction:rtl">
<input type="text" id="username" />
<label for="username">Username:</label>
</div>
<div style="direction:rtl">
<input type="password" id="password" />
<label for="password">Password:</label>
</div>
</form>
Спасибо, в итоге я придал ему трехмерный (вряд ли) вид, установив границу, например:
<Border BorderBrush="White" BorderThickness="3,3,0,0">
<Border BorderBrush="Black" BorderThickness="1,1,3,3">
</Border>
</Border>
Выглядит довольно прилично!
<Popup PopupAttributes="SetByYou">
<Border BorderAttribute="SetByYou">
<!-- Content here -->
</Border>
</Popup>
Очевидно, что всплывающие окна в настоящее время не поддерживают drop shadows, см. ссылку.
Однако я придумал обходной путь, который работает довольно хорошо IMO. В основном идея заключается в том, чтобы иметь холст, вложенный в другой прозрачный холст, и просто применить падающую тень к вложенному холсту. Все просто. Вот пример:
<Grid>
<TextBox x:Name="MyTxtBx" Width="50"
Height="20" Text="Hello"/>
<Popup IsOpen="True" Width="200" Height="100"
PlacementTarget="{Binding ElementName=MyTxtBx}"
AllowsTransparency="True" >
<Canvas Background="Transparent">
<Canvas Background="Green" Width="150" Height="50">
<Canvas.BitmapEffect>
<DropShadowBitmapEffect Softness=".5"
ShadowDepth="5"
Color="Black"/>
</Canvas.BitmapEffect>
<Label Content="THIS IS A POPUP TEST"/>
</Canvas>
</Canvas>
</Popup>
</Grid>
Следует отметить, что размер вложенного холста должен быть меньше размера его контейнера. Также должно быть установлено значение AllowsTransparency.