我是uwp的新手。当有人点击gridview项目但在项目中收到错误时,我想获得共享选项。我觉得我还没有正确使用它。所以帮助我吧。
的.xaml
<GridView x:Name="gridview1" ItemClick="itemclicked">
<GridView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding image}" Width="120" Height="120" Margin="2"></Image>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
的.cs
loadData();
DataTransferManager datatrnsfermanager = DataTransferManager.GetForCurrentView();
datatrnsfermanager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.shareimagehandler);
private async void shareimagehandler(DataTransferManager sender, DataRequestedEventArgs e)
{
DataRequest request = e.Request;
request.Data.Properties.Title = "Share image";
DataRequestDeferral deferral = request.GetDeferral();
try
{
request.Data.SetBitmap(item);
}
finally
{
deferral.Complete();
}
}
private void itemclicked(object sender, ItemClickEventArgs e)
{
var item = gridview1.SelectedItem;
DataTransferManager.ShowShareUI();
}
我在
中遇到错误request.Data.SetBitmap(item);
项目中的
The name 'item' does not exist in the current context
答案 0 :(得分:0)
你看到的原因
The name 'item' does not exist in the current context
是因为您试图访问其范围之外的本地变量。
局部变量(see this tutorial)只能在其“范围”内访问。变量作用域由放置变量及其访问修饰符的位置定义。
例如,您的问题是您尝试在定义的函数之外访问本地范围的变量“item”。
public static void FunctionOne(){
string localToFunctionOne = "This variable can only be used inside of Function One";
}
public static void FunctionTwo(){
string localToFunctionTwo = "This variable can only be used inside of Function Two";
}
在上面的例子中,你只能在它们声明的函数里面使用这些变量。
如果我尝试访问localToFunctionOne
内的FunctionTwo
,那么我会The variable localToFunctionOne does not exist in the current context
这是您创建的方案,也是您收到此错误的原因。
为了解决这个问题,您可以采用几种不同的路径。但是我认为你想要采取的路径是创建一个范围到你的类的变量。
public static class MyVariableExampleClass{
public static string globalVariable = "All functions in this class can see this variable";
public static void FunctionOne(){
string varibleForFunctionOne = globalVariable;
}
public static void FunctionTwo(){
string varibleForFunctionOne = globalVariable;
}
}
从这个例子中可以看出,您可以从两个函数中访问名为“globalVariable”的类范围变量。