我正在尝试在Xamarin.Forms中为ListView创建自定义模板。在模板内部我放了一个自定义视图,其中有一个名为“MainTemplate”的属性,输入也是一个模板。问题是如果MainTemplate包含一个或多个DataBindings,它们将被忽略(所有XAML都被加载,但绑定的数据被skypped)。 Il看起来像在我的模板中,范围会丢失。
listView:
import tensorflow as tf
import numpy as np
raw_data = np.random.normal(10, 1, 100)
# Define alpha as a constant
alpha = tf.constant(0.05)
# A placeholder is just like a variable, but the value is injected from the
# session
curr_value = tf.placeholder(tf.float32)
# Initialize the previous average to some
prev_avg = tf.Variable(0.)
avg_hist = tf.summary.scalar("running_average", update_avg)
value_hist = tf.summary.scalar("incoming_values", curr_value)
merged = tf.summary.merge_all()
writer = tf.summary.FileWriter("./logs")
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for i in range(len(raw_data)):
summary_str, curr_avg = sess.run([merged, update_avg], feed_dict={curr_value: raw_data[i]})
sess.run(tf.assign(prev_avg, curr_avg))
print(raw_data[i], curr_avg)
writer.add_summary(summary_str, i)
我的自定义模板:
<ListView ItemsSource="{Binding items}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<c:GestureListItem>
<c:GestureListItem.MainTemplate>
<ContentView BackgroundColor="Red" Padding="10">
<Label Text="{Binding Name}" />
</ContentView>
</c:GestureListItem.MainTemplate>
</c:GestureListItem>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
......及其背后的代码:
<?xml version="1.0" encoding="UTF-8"?>
<Grid xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Xamtools.GestureListItem">
<ContentView Content="{Binding MainTemplate}" x:Name="mainTemplate" />
</Grid>