В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Вы не нуждаетесь в пользовательском элементе управления, просто помещаете Ваш контейнер в элемент границы:
<Border BorderBrush="#FF000000" BorderThickness="1" CornerRadius="8">
<Grid/>
</Border>
можно заменить <Grid/>
любым из контейнеров макетов...
Я знаю, что это не ответ на начальный вопрос..., но Вы часто хотите отсечь внутреннее содержание той границы скругленного угла, которую Вы просто создали.
Chris Cavanagh придумал отличный способ , чтобы сделать просто это.
я попробовал пару разных подходов к этому..., и я думаю эти скалы.
Вот xaml ниже:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="Black"
>
<!-- Rounded yellow border -->
<Border
HorizontalAlignment="Center"
VerticalAlignment="Center"
BorderBrush="Yellow"
BorderThickness="3"
CornerRadius="10"
Padding="2"
>
<Grid>
<!-- Rounded mask (stretches to fill Grid) -->
<Border
Name="mask"
Background="White"
CornerRadius="7"
/>
<!-- Main content container -->
<StackPanel>
<!-- Use a VisualBrush of 'mask' as the opacity mask -->
<StackPanel.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</StackPanel.OpacityMask>
<!-- Any content -->
<Image Source="http://chriscavanagh.files.wordpress.com/2006/12/chriss-blog-banner.jpg"/>
<Rectangle
Height="50"
Fill="Red"/>
<Rectangle
Height="50"
Fill="White"/>
<Rectangle
Height="50"
Fill="Blue"/>
</StackPanel>
</Grid>
</Border>
</Page>
Если вы пытаетесь поместить кнопку в рамку с закругленными прямоугольниками, вам стоит посмотреть пример msdn. Я нашел его, погуглив в поисках изображений проблемы (вместо текста). Их громоздкий внешний прямоугольник (к счастью) легко удалить.
Обратите внимание, что вам придется переопределить поведение кнопки (поскольку вы изменили ControlTemplate). То есть, вам нужно будет определить поведение кнопки при нажатии, используя тег Trigger (Property="IsPressed" Value="true") в теге ControlTemplate.Triggers. Надеюсь, это сэкономит кому-нибудь время, которое потерял я :)