我尝试从我的列表框中选择项目时从我的TextBlock中获取文本。
这是我的xaml文件中列表框的代码..
<ListBox x:Name="listBox" Height="535" Margin="7,0,12,0"
SelectionChanged="selectedItem"
ItemsSource="{Binding}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel FlowDirection="LeftToRight"
ItemWidth="215" ItemHeight="215" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate x:Uid="info">
<DataTemplate>
<StackPanel>
<Border>
<Image HorizontalAlignment="Left" Margin="6,6,0,0"
Name="image1" Stretch="Fill"
VerticalAlignment="Top"
Source="{Binding imageSource}" />
</Border>
<TextBlock x:Name="path" Foreground="Transparent"
Text="{Binding imagePath}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
对于我的c#代码我正在使用一个能处理tap事件的selectionChangedEvent方法,但我无法弄清楚如何获取我的TextBlock元素的内容。
private void selectedItem(object sender, SelectionChangedEventArgs e)
{
//I need to take the content of my textblock w/c carry the path for
//my image to be use to share using ShareMediaTask.
//path = the content of my textblock
var task = new ShareMediaTask();
task.FilePath = path;
task.Show();
}
我真的很感激任何帮助。
答案 0 :(得分:0)
如果它是从文本块发送的,则它将是您的发件人...所以您可以执行类似
的操作var text = ((TextBlock)sender).Text;
否则,您必须引用它绑定到的属性...
为什么,哦为什么要命名你的文本块path
?它会让所有人感到困惑......称之为TextBlockPath
,这样一来,它只是一条道路并不含糊......
答案 1 :(得分:0)
如果imagePath是类的属性,请尝试使用
var item = listBox.SelectedItem as className; // like ShareMediaTask
var task = new ShareMediaTask();
task.FilePath = item.imagePath;
task.Show();