xaml - 如何从 MVVM 视图模型访问 x:Name
问题描述
我想将 Viewmodel 中的 Microchart 数据绑定到我的 xamarin prism 应用程序中查看
我尝试通过访问 x:Name 和它的工作正常从后端 c# 绑定。但我想将我的所有逻辑保留在 viewmodel 中。有没有办法从 viewmodel 访问这个图表元素。
我的xml代码
<StackLayout Orientation="Vertical" >
<StackLayout Padding="5,3,5,3" >
<microcharts:ChartView HeightRequest="300" WidthRequest="200" x:Name="chartView"/>
</StackLayout>
<StackLayout Padding="5,3,5,3" >
<microcharts:ChartView HeightRequest="300" WidthRequest="200" x:Name="chartView1"/>
</StackLayout>
<StackLayout Padding="5,3,5,3">
<microcharts:ChartView HeightRequest="300" WidthRequest="200" x:Name="chartView2"/>
</StackLayout>
</StackLayout>
和我的后端 C# 代码
var entries = new List<ChartEntry>
{
new ChartEntry(200)
{
Label = "January",
ValueLabel = "200",
Color = SKColor.Parse("#266489")
},
new ChartEntry(400)
{
Label = "February",
ValueLabel = "400",
Color = SKColor.Parse("#68B9C0")
},
new ChartEntry(100)
{
Label = "March",
ValueLabel = "100",
Color = SKColor.Parse("#90D585")
}
};
var chart = new BarChart() { Entries = entries };
var chart1 = new BarChart() { Entries = entries };
var chart2 = new PointChart() { Entries = entries };
// or: var chart = new LineChart() { Entries = entries };
// or: var chart = new DonutChart() { Entries = entries };
// or: var chart = new RadialGaugeChart() { Entries = entries };
// or: var chart = new RadarChart() { Entries = entries };
this.chartView.Chart = chart;
this.chartView1.Chart = chart1;
this.chartView2.Chart = chart2;
我想将此后端 c# 代码移动到 viewmodel.and 我不知道如何将此图表数据绑定到 viewmodel.Thanks
解决方案
你不能做这个。
您可以使用 BindingContext 访问 xml 端。
<microcharts:ChartView HeightRequest="300" WidthRequest="200" ValueLabel="{Binding your_prop}" x:Name="chartView"/>
推荐阅读
- jmeter - JMETER 记录包含使用 Microsoft 远程桌面协议的调用的场景并检查 3 方工具活动并返回应用程序?
- swiftui - SwiftUI 中的 GLKView?
- python - 查询以获取评分最高且至少有 5 人评分的电影
- javascript - 浏览器中不推荐使用的属性调用者
- android - 位图中的图像压缩并在android Q中上传到服务器
- javascript - 查询选择器,通过它的类和内容选择一个元素
- server - 无法将 SSL 配置为 httpd-vhosts.conf
- laravel - Laravel: 方法 ...Controller::show 不存在
- android - 如何修复 ionic 3 中的 Typescript 错误?索引.d.ts
- xcode - @Published ObservedObjects SwiftUI 更新未发生