WidgetManager.DeleteWidget(String) 方法

定义

请求从小组件主机中删除小组件。

public:
 virtual void DeleteWidget(Platform::String ^ widgetId) = DeleteWidget;
void DeleteWidget(winrt::hstring const& widgetId);
public void DeleteWidget(string widgetId);
function deleteWidget(widgetId)
Public Sub DeleteWidget (widgetId As String)

参数

widgetId
String

Platform::String

winrt::hstring

要删除的小组件的唯一标识符。 小组件 ID 值由 WidgetManager动态生成。 从创建小组件到删除小组件的那一刻,小组件 ID 保持不变。 小组件 ID 是跨所有小组件和所有小组件提供程序的唯一值。

实现

M:Microsoft.Windows.Widgets.Providers.IWidgetManager.DeleteWidget(System.String) M:Microsoft.Windows.Widgets.Providers.IWidgetManager.DeleteWidget(Platform::String) M:Microsoft.Windows.Widgets.Providers.IWidgetManager.DeleteWidget(winrt::hstring)

示例

以下示例删除具有指定 的所有小组件。

/*
* Sample output:
* Deleted Widget with Id: {D8FEC89F-9A89-44B1-A52D-F04C515B0141}
*/
using namespace std;
using namespace winrt;

class WidgetManagerOperations
{
    void DeleteAllClockWidgets()
    {
        WidgetManager widgetManager = WidgetManager::GetDefault();
        com_array<WidgetInfo> widgetInfos = widgetManager.GetWidgetInfos();

        for (const auto& widgetInfo : widgetInfos)
        {
            if (widgetInfo.WidgetContext().DefinitionName() == L"clockWidget")
            {
                hstring widgetId = widgetInfo.WidgetContext().Id();
                widgetManager.DeleteWidget(widgetId);

                wcout << L"Deleted Widget with Id: " << widgetId << endl;
            }
        }
    }
}

注解

调用此方法后,提供程序将收到通知,指出已通过 方法删除了 DeleteWidget(String, String) 小组件。

使用已删除的小组件的 ID 调用此方法将不起作用。

适用于