xamarin 自定义ContentView

新建基于xmal的ContentView

<?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="Tourism.ColorView">
    <ContentView.Content>
        <Frame OutlineColor="Aqua">
            <StackLayout Orientation="Horizontal">
                <BoxView x:Name="boxView" WidthRequest="70" MinimumHeightRequest="70" />
                <StackLayout>
                    <Label x:Name="colorNameLabel" FontSize="Large" VerticalOptions="CenterAndExpand">
                    </Label>
                    <Label x:Name="colorValueLabel" VerticalOptions="CenterAndExpand" />
                </StackLayout>
            </StackLayout>
        </Frame>
    </ContentView.Content>
</ContentView>

分别声明了: BoxView Label 两个UI变量和一个Lable的Color变量

cs类

 public partial class ColorView : ContentView
    {

        string colorName;

        ColorTypeConverter colorTypeCov;
        public ColorView()
        {
            colorTypeCov  = new ColorTypeConverter();
            InitializeComponent();
        }
        public string ColorName{
            set{
                colorName = value;
                colorNameLabel.Text = value;
                Color color = (Color)colorTypeCov.ConvertFromInvariantString(value);
                boxView.Color = color;
                colorValueLabel.Text = String.Format("{0}-{1}-{2}", 255 * color.R, 255 * color.G, 255 * color.B);
            }
            get{
                return colorName;
            }
        }
    }

声明外部的xmal访问的public变量ColorName

使用

1 应用xmal的根节点声明

xmlns:local="clr-namespace:Tourism;assembly=Tourism"

格式说明: clr-namespace:工程名;assembly=工程名
2 使用

 <local:ColorView ColorName="red"/>

3 整体

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:local="clr-namespace:Tourism;assembly=Tourism" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Tourism.ColorViewListpage">
    <ContentPage.Content>
        <ScrollView>
            <StackLayout>
                <local:ColorView ColorName="red"/>
            </StackLayout>
        </ScrollView>
    </ContentPage.Content>
</ContentPage>
使用预览
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 在Xamarin.Forms工程中使用XAML创建自定义控件。参考:Creating Reusable XAML ...
    erabbit阅读 6,556评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,994评论 8 265
  • 你跑,我追逐, 你停,我踟蹰, 你醒,我欢欣, 你睡,我守护。 你哭,我泣血, 你笑,我开怀, 你归,我期待, 你...
    一席之言阅读 2,833评论 0 1

友情链接更多精彩内容