如何制作组件,然后在XAML中重用?

时间:2016-05-13 09:29:27

标签: c# angularjs wpf xaml xamarin

我决定制作控件然后重复使用。作为角度的指令。 但只是达到了广告。

namespace Chainhub.Forms.UI.Controls
{
    public partial class BoxPickerControl : ContentView
    {
        public BoxPickerControl()
        {
           InitializeComponent();
        }
    }
}

例如xaml中的BoxPickerControl

<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Chainhub.Forms.UI.Controls.BoxPickerControl">
  <StackLayout>
    <StackLayout>
    <StackLayout  BackgroundColor="#383940" Padding="5,5,5,5"  Orientation="Horizontal">
      <StackLayout  HorizontalOptions="StartAndExpand">
        <Label Text="Categories"   TextColor="White"></Label>
      </StackLayout>
</ContentView>

在内容页面注册和调用

<controls:BoxPickerControl>
</controls:BoxPickerControl>

成功抓获

  

目标调用异常

我做错了什么?

1 个答案:

答案 0 :(得分:2)

要创建可重复使用的控件,您应该创建void*,然后在UserControl中添加一些必要的控件。例如,我们正在创建UserControl,它将被称为UserControl

FooUserControl

然后,只需在任何其他控件中,您就可以重复使用此<UserControl x:Class="OpenExcelFileAndConvertToArray.FooUserControl" 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="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:OpenExcelFileAndConvertToArray" mc:Ignorable="d"> <Grid> <StackPanel Orientation="Horizontal"> <TextBlock Text="SomeText"/> <Button Content="Delete"/> </StackPanel> </Grid> </UserControl> 。例如:

FooUserControl