I have updated my existing application which uses lync sdk assemblies to silverlight 5. from there onwards, the application does not compile gives out an error
The tag 'UCTreeView' does not exist in XML namespace 'clr-namespace:Microsoft.Lync.Controls;assembly=Microsoft.Lync.Controls'
I've added following references
Microsoft.Lync.Controls
Microsoft.Lync.Controls.Framework
Microsoft.Lync.Model
Microsoft.Lync.Utilities
System.Windows.Controls
Following XAML gives compile errors
<UserControl x:Class="aa.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:c="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:controls="clr-namespace:Microsoft.Lync.Controls;assembly=Microsoft.Lync.Controls"
mc:Ignorable="d"
xmlns:Microsoft_Lync_Controls_Internal_Converters="clr-namespace:Microsoft.Lync.Controls.Internal.Converters;assembly=Microsoft.Lync.Controls"
xmlns:Microsoft_Lync_Internal_Utilities_Helpers="clr-namespace:Microsoft.Lync.Internal.Utilities.Helpers;assembly=Microsoft.Lync.Utilities"
xmlns:Microsoft_Lync_Controls_Internal="clr-namespace:Microsoft.Lync.Controls.Internal;assembly=Microsoft.Lync.Controls"
xmlns:Microsoft_Lync_Controls_Internal_Framework_Commands="clr-namespace:Microsoft.Lync.Controls.Internal.Framework.Commands;assembly=Microsoft.Lync.Controls.Framework"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<Style x:Key="ContactListStyle1" TargetType="controls:ContactList">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Microsoft_Lync_Internal_Utilities_Helpers:SetterValueBindingHelper.PropertyBindingCollection">
<Setter.Value>
<Microsoft_Lync_Internal_Utilities_Helpers:SetterValueBindingHelperCollection>
<Microsoft_Lync_Internal_Utilities_Helpers:SetterValueBindingHelper Binding="{Binding DefaultControlBackgroundBrush, Source={StaticResource ControlColors}}" Property="Background"/>
</Microsoft_Lync_Internal_Utilities_Helpers:SetterValueBindingHelperCollection>
</Setter.Value>
</Setter>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="UseLayoutRounding" Value="False"/>
<Setter Property="AllowDrop" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:ContactList">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
<Grid x:Name="PART_ContactListGrid" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid AutomationProperties.AutomationId="PivotBar" Visibility="{Binding ShowPivotBar, Converter={StaticResource BooleanToVisibilityConverter}, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Grid Height="26" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=PivotBarDivider}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton AutomationProperties.AutomationId="ViewByGroupButton" Content="{Binding Resources.ContactListFilterGroup, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}" Grid.Column="0" GroupName="ViewByOptions" IsChecked="{Binding GroupViewBySetting, ConverterParameter=Groups, Converter={StaticResource EnumToBoolConverter}, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="{Binding IsSignedIn, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ListFilterRadioButtonStyle}">
<ToolTipService.ToolTip>
<ToolTip Content="{Binding Resources.ContactListFilterGroupToolTip, Source={StaticResource ResourcesWrapper}}" Style="{StaticResource DefaultToolTipStyle}"/>
</ToolTipService.ToolTip>
</Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton>
<Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton AutomationProperties.AutomationId="ViewByStatusButton" Content="{Binding Resources.ContactListFilterStatus, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}" Grid.Column="1" GroupName="ViewByOptions" IsChecked="{Binding GroupViewBySetting, ConverterParameter=Status, Converter={StaticResource EnumToBoolConverter}, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="{Binding IsSignedIn, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ListFilterRadioButtonStyle}">
<ToolTipService.ToolTip>
<ToolTip Content="{Binding Resources.ContactListFilterStatusToolTip, Source={StaticResource ResourcesWrapper}}" Style="{StaticResource DefaultToolTipStyle}"/>
</ToolTipService.ToolTip>
</Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton>
<Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton AutomationProperties.AutomationId="ViewByRelationshipButton" Content="{Binding Resources.ContactListFilterRelationship, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}" Grid.Column="2" GroupName="ViewByOptions" IsChecked="{Binding GroupViewBySetting, ConverterParameter=Relationship, Converter={StaticResource EnumToBoolConverter}, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="{Binding IsSignedIn, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ListFilterRadioButtonStyle}">
<ToolTipService.ToolTip>
<ToolTip Content="{Binding Resources.ContactListFilterRelationshipToolTip, Source={StaticResource ResourcesWrapper}}" Style="{StaticResource DefaultToolTipStyle}"/>
</ToolTipService.ToolTip>
</Microsoft_Lync_Controls_Internal:EnterEnabledRadioButton>
<Microsoft_Lync_Controls_Internal:SplitButton x:Name="PART_ViewLayoutMenu" AutomationProperties.AutomationId="ViewLayoutMenu" Grid.Column="3" HorizontalAlignment="Right" Height="22" IsEnabled="{Binding IsSignedIn, RelativeSource={RelativeSource TemplatedParent}}" Padding="2,0,2,0" Style="{StaticResource SplitButtonControlTertiaryStyle}" VerticalAlignment="Center">
<Microsoft_Lync_Controls_Internal:SplitButton.DropDown>
<Microsoft_Lync_Controls_Internal:ContextMenu>
<Microsoft_Lync_Controls_Internal:RadioMenuItem x:Name="PART_OneLineMenuItem" AutomationProperties.AutomationId="OneLineRadioButton" GroupName="LineViewGroup" Header="{Binding Resources.ContactListViewOneLine, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}">
<Microsoft_Lync_Controls_Internal:RadioMenuItem.Icon>
<ContentControl Style="{StaticResource IconStyle.OneLineView}"/>
</Microsoft_Lync_Controls_Internal:RadioMenuItem.Icon>
</Microsoft_Lync_Controls_Internal:RadioMenuItem>
<Microsoft_Lync_Controls_Internal:RadioMenuItem x:Name="PART_TwoLinesMenuItem" AutomationProperties.AutomationId="TwoLinesRadioButton" GroupName="LineViewGroup" Header="{Binding Resources.ContactListViewTwoLine, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}">
<Microsoft_Lync_Controls_Internal:RadioMenuItem.Icon>
<ContentControl Margin="0,1,0,0" Style="{StaticResource IconStyle.TwoLineView}"/>
</Microsoft_Lync_Controls_Internal:RadioMenuItem.Icon>
</Microsoft_Lync_Controls_Internal:RadioMenuItem>
<Microsoft_Lync_Controls_Internal:MenuItem Header="{Binding Resources.ContactListViewShowFriendlyName, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}" IsCheckable="True" IsChecked="{Binding ShowFriendlyName, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
<Microsoft_Lync_Controls_Internal:MenuItem IsTabStop="False" IsEnabled="False" Style="{StaticResource MenuItemSeparatorStyle}"/>
<Microsoft_Lync_Controls_Internal:RadioMenuItem x:Name="PART_SortByDisplayNameMenuItem" GroupName="SortByGroup" Header="{Binding Resources.ContactListViewDisplayName, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}"/>
<Microsoft_Lync_Controls_Internal:RadioMenuItem x:Name="PART_SortByAvailabilityMenuItem" GroupName="SortByGroup" Header="{Binding Resources.ContactListViewAvailability, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}"/>
<Microsoft_Lync_Controls_Internal:MenuItem IsTabStop="False" IsEnabled="False" Style="{StaticResource MenuItemSeparatorStyle}"/>
<Microsoft_Lync_Controls_Internal:MenuItem Header="{Binding Resources.ContactListViewShowFrequentContacts, Converter={StaticResource StringToAcceleratorConverter}, Source={StaticResource ResourcesWrapper}}" IsCheckable="True" IsChecked="{Binding ShowFrequentContacts, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
</Microsoft_Lync_Controls_Internal:ContextMenu>
</Microsoft_Lync_Controls_Internal:SplitButton.DropDown>
<Microsoft_Lync_Controls_Internal:SplitButton.LeftToolTip>
<ToolTip Content="{Binding Resources.ToolTipContactListLayoutMenuLeft, Source={StaticResource ResourcesWrapper}}" Style="{StaticResource DefaultToolTipStyle}"/>
</Microsoft_Lync_Controls_Internal:SplitButton.LeftToolTip>
<Microsoft_Lync_Controls_Internal:SplitButton.RightToolTip>
<ToolTip Content="{Binding Resources.ToolTipContactListLayoutMenuRight, Source={StaticResource ResourcesWrapper}}" Style="{StaticResource DefaultToolTipStyle}"/>
</Microsoft_Lync_Controls_Internal:SplitButton.RightToolTip>
<Grid>
<ContentControl Style="{StaticResource IconStyle.OneLineView}" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=PART_OneLineMenuItem, FallbackValue=Collapsed, Mode=OneWay}"/>
<ContentControl Style="{StaticResource IconStyle.TwoLineView}" Visibility="{Binding IsChecked, Converter={StaticResource NotBooleanToVisibilityConverter}, ElementName=PART_OneLineMenuItem, Mode=OneWay}"/>
</Grid>
</Microsoft_Lync_Controls_Internal:SplitButton>
</Grid>
<ToggleButton x:Name="PivotBarDivider" AutomationProperties.AutomationId="PivotBarDivider" Height="10" IsChecked="True" AutomationProperties.Name="Pivot bar divider" Grid.Row="1" Style="{StaticResource ToggleButtonPivotDividerStyle}"/>
</Grid>
<controls:UCTreeView x:Name="PART_TreeControl" ContextualInformation="{TemplateBinding ContextualInformation}" ContactLayoutView="{TemplateBinding ContactLayoutView}" GroupViewBySetting="{TemplateBinding GroupViewBySetting}" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" ItemsSource="{TemplateBinding Contacts}" IsEnabled="{TemplateBinding IsSignedIn}" Grid.Row="1" ShowFriendlyName="{TemplateBinding ShowFriendlyName}" ScrollViewer.VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" Style="{StaticResource UCTreeViewStyle1}"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
</Grid>
</UserControl>
I've bad news for you. Lync 2010 needs and require Silverlight 4 SDK, it was created for that version. For example, if you try install Lync 2010 AFTER Silverlight 5 Tools, you need to do a downgrade. Otherwise you will find bugs, and bugs, and conflicts, and conflicts, for ever.
Try with this thread: http://social.msdn.microsoft.com/Forums/en-US/communicationsserversdk/thread/85f3990a-de73-4ed2-b6c2-f515a9a8fec5
Related
I have deployed bpmn workflow which is creating duplicate task instances. On my further investigation I noticed the ACT_HI_ACTINST table which records sequence of activities regarding the process instance of workflow. What I found is, in b/w Account Review stage to Manager 1 stage, the exclusiveGateway and parallelGateway records are appeared twice which leads to the creation of duplicate tasks for Manager 1. What went wrong with bpmn deployed attached here? I am using Camunda 7.11.0.
#rob2universe please find the attached xml.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" id="definitions_aa944ebe-cbcd-4b68-98df-de24c78ae605" targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL" exporter="Camunda Modeler" exporterVersion="4.12.0">
<process id="weeklyPayments" name="Weekly Payments" isExecutable="true">
<startEvent id="startEvent_0489fe56-21df-4cc0-85f3-86b8ac15f1b1" name="Weekly payments Start">
<outgoing>sequenceFlow_43dd42e8-47fc-4bb5-8f5d-387db79f3e6c</outgoing>
</startEvent>
<userTask id="payrollAccountantReviewTaskId" name="Account review" camunda:assignee="0afc00a7-1689-4003-b99f-116f7d42da17">
<incoming>sequenceFlow_43dd42e8-47fc-4bb5-8f5d-387db79f3e6c</incoming>
<incoming>sequenceFlow_dfbc5aab-c51a-41d6-9af6-03a237d29e5f</incoming>
<outgoing>sequenceFlow_f091e4f1-d246-4a3f-8cc5-d0811a4651eb</outgoing>
</userTask>
<sequenceFlow id="sequenceFlow_43dd42e8-47fc-4bb5-8f5d-387db79f3e6c" sourceRef="startEvent_0489fe56-21df-4cc0-85f3-86b8ac15f1b1" targetRef="payrollAccountantReviewTaskId" />
<exclusiveGateway id="exclusiveGatewayBeforeApproval">
<incoming>sequenceFlow_f091e4f1-d246-4a3f-8cc5-d0811a4651eb</incoming>
<outgoing>sequenceFlow_c713a794-a008-416a-811c-58be2650afaa</outgoing>
</exclusiveGateway>
<sequenceFlow id="sequenceFlow_f091e4f1-d246-4a3f-8cc5-d0811a4651eb" sourceRef="payrollAccountantReviewTaskId" targetRef="exclusiveGatewayBeforeApproval" />
<parallelGateway id="standardWorkflow_1parallelGateLevel1">
<incoming>sequenceFlow_c713a794-a008-416a-811c-58be2650afaa</incoming>
<outgoing>sequenceFlow_1b2992c2-6bbf-43a5-bd15-9bdd2a91c1de</outgoing>
</parallelGateway>
<sequenceFlow id="sequenceFlow_c713a794-a008-416a-811c-58be2650afaa" sourceRef="exclusiveGatewayBeforeApproval" targetRef="standardWorkflow_1parallelGateLevel1" />
<userTask id="userTask_8cd0a009-7d4c-4857-bcce-b0a358be9c39" name="Manager 1" camunda:assignee="165f2d43-a133-4433-8c24-219ec599a377">
<incoming>sequenceFlow_1b2992c2-6bbf-43a5-bd15-9bdd2a91c1de</incoming>
<outgoing>sequenceFlow_d578879e-ce63-4a37-96ed-ea357c63a2d0</outgoing>
</userTask>
<sequenceFlow id="sequenceFlow_1b2992c2-6bbf-43a5-bd15-9bdd2a91c1de" sourceRef="standardWorkflow_1parallelGateLevel1" targetRef="userTask_8cd0a009-7d4c-4857-bcce-b0a358be9c39" />
<exclusiveGateway id="standardWorkflow_1exclusiveGateApprovalLevel1" gatewayDirection="Diverging">
<incoming>sequenceFlow_d578879e-ce63-4a37-96ed-ea357c63a2d0</incoming>
<outgoing>sequenceFlow_dfbc5aab-c51a-41d6-9af6-03a237d29e5f</outgoing>
<outgoing>Flow_0dhem2c</outgoing>
</exclusiveGateway>
<sequenceFlow id="sequenceFlow_d578879e-ce63-4a37-96ed-ea357c63a2d0" sourceRef="userTask_8cd0a009-7d4c-4857-bcce-b0a358be9c39" targetRef="standardWorkflow_1exclusiveGateApprovalLevel1" />
<sequenceFlow id="sequenceFlow_dfbc5aab-c51a-41d6-9af6-03a237d29e5f" sourceRef="standardWorkflow_1exclusiveGateApprovalLevel1" targetRef="payrollAccountantReviewTaskId">
<conditionExpression id="conditionExpression_a0828e4f-68ba-4c1c-ab91-fe454ccd22cf">#{not approved}</conditionExpression>
</sequenceFlow>
<endEvent id="endEvent_1215456f-e1ed-4be6-bd75-e3eb7dba1a1b" name="Weekly payments Approved">
<incoming>Flow_0dhem2c</incoming>
</endEvent>
<sequenceFlow id="Flow_0dhem2c" sourceRef="standardWorkflow_1exclusiveGateApprovalLevel1" targetRef="endEvent_1215456f-e1ed-4be6-bd75-e3eb7dba1a1b" />
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_9b401e85-e737-4fc3-879a-23f2a5c74904">
<bpmndi:BPMNPlane id="BPMNPlane_3ac9827c-4875-42bb-ac8a-2e42f790c559" bpmnElement="weeklyPayments">
<bpmndi:BPMNEdge id="BPMNEdge_c7c043df-75ce-46f3-99b0-c60fecb44739" bpmnElement="sequenceFlow_dfbc5aab-c51a-41d6-9af6-03a237d29e5f">
<di:waypoint x="831" y="143" />
<di:waypoint x="831" y="270" />
<di:waypoint x="406" y="270" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1343" y="243" width="34" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_96d0e27e-e6d5-4789-8594-3513310041dd" bpmnElement="sequenceFlow_d578879e-ce63-4a37-96ed-ea357c63a2d0">
<di:waypoint x="756" y="118" />
<di:waypoint x="806" y="118" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_38784eaf-da72-4325-b7d2-0cfd683f26c0" bpmnElement="sequenceFlow_1b2992c2-6bbf-43a5-bd15-9bdd2a91c1de">
<di:waypoint x="606" y="118" />
<di:waypoint x="656" y="118" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_404bebd5-39e7-4b0f-b99f-bedaf6e45cfc" bpmnElement="sequenceFlow_c713a794-a008-416a-811c-58be2650afaa">
<di:waypoint x="506" y="118" />
<di:waypoint x="556" y="118" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_13585ad2-8ee9-4257-a654-3208c36ac7eb" bpmnElement="sequenceFlow_f091e4f1-d246-4a3f-8cc5-d0811a4651eb">
<di:waypoint x="356" y="230" />
<di:waypoint x="356" y="118" />
<di:waypoint x="456" y="118" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_39143a53-8255-453b-a745-34fe234aa4e1" bpmnElement="sequenceFlow_43dd42e8-47fc-4bb5-8f5d-387db79f3e6c">
<di:waypoint x="208" y="270" />
<di:waypoint x="306" y="270" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0dhem2c_di" bpmnElement="Flow_0dhem2c">
<di:waypoint x="856" y="118" />
<di:waypoint x="932" y="118" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="BPMNShape_2420f9d5-d6c9-4367-b4eb-5da788186a33" bpmnElement="startEvent_0489fe56-21df-4cc0-85f3-86b8ac15f1b1">
<dc:Bounds x="172" y="252" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="150" y="288" width="88" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_d5ebb429-87d2-4cf4-b98d-c1b1c1f22402" bpmnElement="payrollAccountantReviewTaskId">
<dc:Bounds x="306" y="230" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_877ee2fd-54e0-4c3d-8710-5b50d2e2b696" bpmnElement="exclusiveGatewayBeforeApproval" isMarkerVisible="true">
<dc:Bounds x="456" y="93" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_02a3cde9-8508-4420-9597-ba7cf5977ed9" bpmnElement="standardWorkflow_1parallelGateLevel1">
<dc:Bounds x="556" y="93" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_336a138c-1325-4596-a68c-364bf0951aa0" bpmnElement="userTask_8cd0a009-7d4c-4857-bcce-b0a358be9c39">
<dc:Bounds x="656" y="78" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_11ddb890-d80a-46ec-9c67-beaaf3b5723f" bpmnElement="standardWorkflow_1exclusiveGateApprovalLevel1" isMarkerVisible="true">
<dc:Bounds x="806" y="93" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_bca69cf4-b5e9-40a5-8271-92ff9d0c4ec0" bpmnElement="endEvent_1215456f-e1ed-4be6-bd75-e3eb7dba1a1b">
<dc:Bounds x="932" y="100" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="906" y="156" width="88" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
Try to move the Manager 1 task on the diagram. Do you now see two sequence flows from the parallel gateway to the user task?
(if this is not the root cause, can you include the modle xml in your post?)
I must make my WCF Client consume a web service and sign/encrypt the request using Web Services Axis 1.4 a Apache CXF 2.6.
So far I have created a custom binding and I've added ProtectionLevel=Net.Security.ProtectionLevel.Sign in my contract atributte and "think" I am working along the right lines.
This is my .config:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ComportamientoCertificadosREA">
<clientCredentials>
<clientCertificate findValue="XXXXXXXX"
x509FindType="FindByThumbprint" />
<serviceCertificate>
<defaultCertificate findValue="XXXXXX"
storeLocation="LocalMachine" x509FindType="FindByThumbprint" />
<authentication certificateValidationMode="ChainTrust" trustedStoreLocation="LocalMachine" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="reaCXFWSSoapBinding">
<security authenticationMode="MutualCertificate" requireDerivedKeys="false"
includeTimestamp="false" messageProtectionOrder="EncryptBeforeSign"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireSecurityContextCancellation="false">
<secureConversationBootstrap authenticationMode="MutualCertificate"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" />
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647" requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://..."
behaviorConfiguration="ComportamientoCertificadosREA" binding="customBinding"
bindingConfiguration="reaCXFWSSoapBinding" contract="ServiceReference1.WSREACXFService"
name="REAEndpoint">
<identity>
<dns value="..." />
<certificateReference storeLocation="CurrentUser" findValue=""
isChainIncluded="false" />
</identity>
</endpoint>
</client>
</system.serviceModel>
That produces the following request (capture and decrypted with fiddler)
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<o:BinarySecurityToken u:Id="uuid-5a68af48-0f16-46b4-b45f-e83851841104-2" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">...</o:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>...</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue></SignatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-5a68af48-0f16-46b4-b45f-e83851841104-2"/>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body u:Id="_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</s:Body>
</s:Envelope>
And this is a valid example of the service:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1">
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId-E554529BAA924FFE9C14373971009923"></wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#id-3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>...</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-E554529BAA924FFE9C14373971009924">
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-E554529BAA924FFE9C14373971009925">
<wsse:Reference URI="#CertId-E554529BAA924FFE9C14373971009923"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="E554529BAA924FFE9C14373971009141">...</wsse:BinarySecurityToken>
<xenc:EncryptedKey Id="EncKeyId-E554529BAA924FFE9C14373971009302">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference>
<wsse:Reference URI="#E554529BAA924FFE9C14373971009141"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
<xenc:ReferenceList>
<xenc:DataReference URI="#EncDataId-1" />
</xenc:ReferenceList>
</xenc:EncryptedKey>
</wsse:Security>
</soap:Header>
<soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-3">
...
</soap:Body>
</soap:Envelope>
So, how can I set my .config (and my code) in order to generate a request like the valid example?
I am using Munit to test my Mule Flow and I am using mocks to set the variables so that the flow doesn't throw an exception. When I run the test on it's own it passes but when I run my full suite just that test fails and running the debug shows that the mocks don't set the variables when running as a suite.
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:mock="http://www.mulesoft.org/schema/mule/mock" xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:munit="http://www.mulesoft.org/schema/mule/munit" xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/munit http://www.mulesoft.org/schema/mule/munit/current/mule-munit.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/mock http://www.mulesoft.org/schema/mule/mock/current/mule-mock.xsd">
<munit:config name="munit" doc:name="MUnit configuration" />
<spring:beans>
<spring:import resource="classpath:endpointproject.xml" />
</spring:beans>
<munit:test
name="test_FilePickUpFlow_CallsFileToStringTransformer_ExactlyOnce"
description="Test">
<flow-ref name="filePickUpFlow" doc:name="filePickUpFlow" />
<mock:verify-call messageProcessor="file:file-to-string-transformer"
times="1" doc:name="Verify Call" />
</munit:test>
<munit:test
name="test_FilePickUpFlow_CallsJsonToObjectTransformer_ExactlyOnce"
description="MUnit Test">
<flow-ref name="filePickUpFlow" doc:name="filePickUpFlow" />
<mock:verify-call messageProcessor="json:json-to-object-transformer"
times="1" doc:name="Verify Call" />
</munit:test>
<munit:test name="test_FilePickUpFlow_CallsJsonParseSubFlow_ExactlyOnce"
description="Validate calls to sub flows are being done properly ">
<set-payload
value="[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]"
doc:name="Set Payload" />
<flow-ref name="filePickUpFlow" doc:name="filePickUpFlow" />
<mock:verify-call messageProcessor="mule:sub-flow"
doc:name="Verify Call" times="1">
<mock:with-attributes>
<mock:with-attribute name="name"
whereValue="#[matchContains('jsonParseSubFlow')]" />
</mock:with-attributes>
</mock:verify-call>
</munit:test>
<munit:test name="test_httpInboundFlow_CallsSetPayload_ExactlyOnce"
description="MUnit Test">
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="set-payload"
doc:name="Verify Call" />
</munit:test>
<munit:test
name="test_HttpInboundFlow_CallsJsonToObjectTransformer_ExactlyOnce"
description="MUnit Test">
<munit:set payload="#[]" doc:name="Set Message">
<munit:inbound-properties>
<munit:inbound-property key="http.query.params"
value="ParameterMap{[json=[[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]]]}" />
</munit:inbound-properties>
</munit:set>
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="json:json-to-object-transformer"
doc:name="Verify Call" times="1" />
</munit:test>
<munit:test name="test_HttpInboundFlow_CallsJsonParseSubFlow_ExactlyOnce"
description="Validate calls to sub flows are being done properly ">
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name"
whereValue="#['Set Payload To Query Params']" />
</mock:with-attributes>
<mock:then-return
payload="#['[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]']" />
</mock:when>
<mock:when messageProcessor="json:json-to-object-transformer"
doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#['JSON to Object']" />
</mock:with-attributes>
<mock:then-return
payload="#['[{protocol=http, host=0.0.0.0, port=8085, path=, operation=GET}]']" />
</mock:when>
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="mule:sub-flow"
times="1" doc:name="Verify Call">
<mock:with-attributes>
<mock:with-attribute name="name"
whereValue="#[matchContains('jsonParseSubFlow')]" />
</mock:with-attributes>
</mock:verify-call>
</munit:test>
<munit:test
name="test_HttpInboundFlow_CallsSetEndpointVariablesSubFlow"
description="MUnit Test">
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name"
whereValue="#['Set Payload To Query Params']" />
</mock:with-attributes>
<mock:then-return
payload="#['[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]']" />
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set port variable" />
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="port" value="8085" />
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set path variable" />
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="path" value="#[]" />
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set host variable" />
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="host" value="0.0.0.0" />
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name"
whereValue="set protocol variable" />
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="protocol" value="http" />
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name"
whereValue="set operation variable" />
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="operation" value="GET" />
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<munit:set payload="#[]" doc:name="Set Message">
<munit:inbound-properties>
<munit:inbound-property key="http.query.params"
value="ParameterMap{[json=[[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]]]}" />
</munit:inbound-properties>
</munit:set>
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="mule:sub-flow"
doc:name="Verify Call">
<mock:with-attributes>
<mock:with-attribute name="name" whereValue="#[matchContains('setEndpointVariablesSubFlow')]"/>
</mock:with-attributes>
</mock:verify-call>
</munit:test>
<munit:test name="test_HttpInboundFlow_CallsHttpEndpointSubFlow"
description="MUnit Test">
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#['Set Payload To Query Params']"/>
</mock:with-attributes>
<mock:then-return payload="#['[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]']"/>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set port variable"/>
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="port" value="8085"/>
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set path variable"/>
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="path" value="#[]"/>
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set host variable"/>
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="host" value="0.0.0.0"/>
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set protocol variable"/>
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="protocol" value="http"/>
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="set operation variable"/>
</mock:with-attributes>
<mock:then-return payload="#[]">
<mock:inbound-properties>
<mock:inbound-property key="operation" value="GET"/>
</mock:inbound-properties>
</mock:then-return>
</mock:when>
<munit:set payload="#[]" doc:name="Set Message">
<munit:inbound-properties>
<munit:inbound-property key="http.query.params"
value="ParameterMap{[json=[[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]]]}" />
</munit:inbound-properties>
</munit:set>
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="mule:sub-flow"
doc:name="Verify Call">
<mock:with-attributes>
<mock:with-attribute name="name" whereValue="#[matchContains('httpEndpointSubFlow')]"/>
</mock:with-attributes>
</mock:verify-call>
</munit:test>
I can't see why the test would be different when a suite as I have no communication between each, do you know how I can avoid this happening?
The test that fails is test_HttpInboundFlow_CallsHttpEndpointSubFlow.
I have managed to resolve the issue by changing "test_HttpInboundFlow_CallsJson{arseSubFlow_ExactlyOnce" test to
<munit:test name="test_HttpInboundFlow_CallsJsonParseSubFlow_ExactlyOnce"
description="Validate calls to sub flows are being done properly ">
<mock:when messageProcessor="mule:set-payload" doc:name="Mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#['Set Payload To Query Params']"/>
</mock:with-attributes>
<mock:then-return payload="#['[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]']"/>
</mock:when>
<munit:set payload="#[]" doc:name="Set Message">
<munit:inbound-properties>
<munit:inbound-property key="http.query.params" value="ParameterMap{[json=[[{"protocol":"http","host":"0.0.0.0","port":"8085","path":"","operation":"GET"}]]]}"/>
</munit:inbound-properties>
</munit:set>
<flow-ref name="httpInboundFlow" doc:name="httpInboundFlow" />
<mock:verify-call messageProcessor="mule:sub-flow"
times="1" doc:name="Verify Call">
<mock:with-attributes>
<mock:with-attribute name="name"
whereValue="#[matchContains('jsonParseSubFlow')]" />
</mock:with-attributes>
</mock:verify-call>
</munit:test>
What I don't understand is why this test has affected a different one, does anyone have any suggestions?
I'm trying to implement the dark theme for the player framework media player for Windows phone 8 and I can't seem to make something work.
I'm changing the style of the seekable slider by adding a template (just like in the win8 version, that works perfectly), but on wp8 I can see the slider thumb, but it doesn't move and the rectangles used to fill the bar are not being displayed.
Here is the code for the seekable slider style:
<Style TargetType="mmppf:SeekableSlider" x:Key="Dark_SeekableSlider">
<Setter Property="IsTabStop" Value="True" />
<Setter Property="Padding" Value="0" />
<Setter Property="Background" Value="{StaticResource Dark_SliderTrackBackgroundThemeBrush}" />
<Setter Property="BorderBrush" Value="{StaticResource Dark_SliderBorderThemeBrush}" />
<Setter Property="BorderThickness" Value="{StaticResource Dark_SliderBorderThemeThickness}" />
<Setter Property="Foreground" Value="{StaticResource Dark_SliderTrackDecreaseBackgroundThemeBrush}" />
<Setter Property="SliderTrackDecreasePressedBackground" Value="{StaticResource Dark_SliderTrackDecreasePressedBackgroundThemeBrush}" />
<Setter Property="SliderTrackPressedBackground" Value="{StaticResource Dark_SliderTrackPressedBackgroundThemeBrush}" />
<Setter Property="SliderThumbPressedBackground" Value="{StaticResource Dark_SliderThumbPressedBackgroundThemeBrush}" />
<Setter Property="SliderThumbPressedBorder" Value="{StaticResource Dark_SliderThumbPressedBorderThemeBrush}" />
<Setter Property="SliderDisabledBorder" Value="{StaticResource Dark_SliderDisabledBorderThemeBrush}" />
<Setter Property="SliderTrackDecreaseDisabledBackground" Value="{StaticResource Dark_SliderTrackDecreaseDisabledBackgroundThemeBrush}" />
<Setter Property="SliderTrackDisabledBackground" Value="{StaticResource Dark_SliderTrackDisabledBackgroundThemeBrush}" />
<Setter Property="SliderThumbDisabledBackground" Value="{StaticResource Dark_SliderThumbDisabledBackgroundThemeBrush}" />
<Setter Property="SliderTrackDecreasePointerOverBackground" Value="{StaticResource Dark_SliderTrackDecreasePointerOverBackgroundThemeBrush}" />
<Setter Property="SliderTrackPointerOverBackground" Value="{StaticResource Dark_SliderTrackPointerOverBackgroundThemeBrush}" />
<Setter Property="SliderThumbPointerOverBackground" Value="{StaticResource Dark_SliderThumbPointerOverBackgroundThemeBrush}" />
<Setter Property="SliderThumbPointerOverBorder" Value="{StaticResource Dark_SliderThumbPointerOverBorderThemeBrush}" />
<Setter Property="SliderThumbBackground" Value="{StaticResource Dark_SliderThumbBackgroundThemeBrush}" />
<Setter Property="SliderThumbStyle">
<Setter.Value>
<Style TargetType="Thumb">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="{StaticResource Dark_SliderThumbBorderThemeBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Border Background="{TemplateBinding Background}" Height="{StaticResource Dark_SliderTrackThemeHeight}" Width="{StaticResource Dark_SliderTrackThemeHeight}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="mmppf:SeekableSlider">
<Grid x:Name="LayoutRoot">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreasePressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackPressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPressedBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreasePressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackPressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPressedBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPressedBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalBorder" Storyboard.TargetProperty="Stroke">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderDisabledBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalBorder" Storyboard.TargetProperty="Stroke">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderDisabledBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreaseDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreaseDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbDisabledBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreasePointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackPointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPointerOverBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalDecreaseRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackDecreasePointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalTrackRect" Storyboard.TargetProperty="Fill">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderTrackPointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPointerOverBackground, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="VerticalThumb" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SliderThumbPointerOverBorder, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="FocusVisualWhite" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
<DoubleAnimation Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
</Storyboard>
</VisualState>
<VisualState x:Name="Unfocused" />
<VisualState x:Name="PointerFocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="HorizontalTemplate" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ContentPresenter x:Name="HorizontalBackgroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding HorizontalBackgroundContent}" Grid.ColumnSpan="3" Grid.RowSpan="3" />
<Rectangle x:Name="HorizontalTrackRect" Margin="{TemplateBinding Padding}" Grid.Row="1" Fill="{TemplateBinding Background}" Grid.Column="0" Grid.ColumnSpan="3" IsHitTestVisible="False" />
<Rectangle x:Name="HorizontalDecreaseRect" Margin="{TemplateBinding Padding}" Grid.Row="1" Fill="{TemplateBinding Foreground}" Grid.Column="0" IsHitTestVisible="False" />
<Rectangle x:Name="HorizontalBorder" Margin="{TemplateBinding Padding}" Grid.RowSpan="3" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="3" IsHitTestVisible="False" />
<Border x:Name="HorizontalAvailableBar" Grid.RowSpan="3" Grid.ColumnSpan="3" HorizontalAlignment="Left" IsHitTestVisible="True" Background="#00000000" />
<ContentPresenter Visibility="Visible" x:Name="HorizontalForegroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding HorizontalForegroundContent}" Grid.ColumnSpan="3" Grid.RowSpan="3" />
<Thumb x:Name="HorizontalThumb" Background="{TemplateBinding SliderThumbBackground}" Style="{TemplateBinding SliderThumbStyle}" DataContext="{TemplateBinding Value}" Grid.Row="1" Grid.Column="1" Height="{StaticResource Dark_SliderTrackThemeHeight}" Width="{StaticResource Dark_SliderTrackThemeHeight}"/>
</Grid>
<Grid x:Name="VerticalTemplate">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="VerticalBackgroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding VerticalBackgroundContent}" Grid.ColumnSpan="3" Grid.RowSpan="3" />
<Rectangle x:Name="VerticalTrackRect" Margin="{TemplateBinding Padding}" Grid.Column="1" Fill="{TemplateBinding Background}" Grid.Row="0" Grid.RowSpan="3" IsHitTestVisible="False" />
<Rectangle x:Name="VerticalDecreaseRect" Margin="{TemplateBinding Padding}" Grid.Column="1" Fill="{TemplateBinding Foreground}" Grid.Row="2" IsHitTestVisible="False" />
<Rectangle x:Name="VerticalBorder" Margin="{TemplateBinding Padding}" Grid.ColumnSpan="3" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Grid.RowSpan="3" IsHitTestVisible="False" />
<Border x:Name="VerticalAvailableBar" Grid.ColumnSpan="3" Grid.RowSpan="3" VerticalAlignment="Bottom" IsHitTestVisible="True" Background="#00000000" />
<ContentPresenter x:Name="VerticalForegroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding VerticalForegroundContent}" Grid.ColumnSpan="3" Grid.RowSpan="3" />
<Thumb x:Name="VerticalThumb" Background="{TemplateBinding SliderThumbBackground}" Style="{TemplateBinding SliderThumbStyle}" DataContext="{TemplateBinding Value}" Grid.Row="1" Grid.Column="1" Height="{StaticResource Dark_SliderTrackThemeHeight}" Width="{StaticResource Dark_SliderTrackThemeHeight}"/>
</Grid>
<Rectangle x:Name="FocusVisualWhite" IsHitTestVisible="False" Stroke="{StaticResource Dark_FocusVisualWhiteStrokeThemeBrush}" StrokeEndLineCap="Square" StrokeDashArray="1,1" Opacity="0" StrokeDashOffset="1.5" Margin="-5" />
<Rectangle x:Name="FocusVisualBlack" IsHitTestVisible="False" Stroke="{StaticResource Dark_FocusVisualBlackStrokeThemeBrush}" StrokeEndLineCap="Square" StrokeDashArray="1,1" Opacity="0" StrokeDashOffset="0.5" Margin="-5" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Is it that wp8 can't handle the same theme? Though at the player framework site it's the same sample theme for both Windows 8 and Windows phone 8.
Used these templates:
<Grid x:Name="HorizontalTemplate">
<ContentPresenter x:Name="HorizontalBackgroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding HorizontalBackgroundContent}"/>
<Rectangle x:Name="HorizontalTrack" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Background}" IsHitTestVisible="False" />
<Rectangle x:Name="HorizontalFill" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Foreground}" IsHitTestVisible="False">
<Rectangle.Clip>
<RectangleGeometry Rect="0, 0, 6, 15"/>
</Rectangle.Clip>
</Rectangle>
<Border x:Name="HorizontalAvailableBar" HorizontalAlignment="Left" IsHitTestVisible="True" Background="#00000000" />
<ContentPresenter x:Name="HorizontalForegroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding HorizontalForegroundContent}"/>
<Rectangle x:Name="HorizontalCenterElement" Fill="{TemplateBinding SliderThumbBackground}" DataContext="{TemplateBinding Value}" HorizontalAlignment="Left" Width="{StaticResource Dark_SliderTrackThemeHeight}">
<Rectangle.RenderTransform>
<TranslateTransform/>
</Rectangle.RenderTransform>
</Rectangle>
</Grid>
<Grid x:Name="VerticalTemplate" Visibility="Collapsed">
<ContentPresenter x:Name="VerticalBackgroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding VerticalBackgroundContent}"/>
<Rectangle x:Name="VerticalTrack" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Background}" IsHitTestVisible="False" Width="{StaticResource Dark_SliderTrackThemeHeight}"/>
<Rectangle x:Name="VerticalFill" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Foreground}" IsHitTestVisible="False" Width="{StaticResource Dark_SliderTrackThemeHeight}">
<Rectangle.Clip>
<RectangleGeometry Rect="0, 0, 15, 6"/>
</Rectangle.Clip>
</Rectangle>
<Border x:Name="VerticalAvailableBar" VerticalAlignment="Bottom" IsHitTestVisible="True" Background="#00000000" />
<ContentPresenter x:Name="VerticalForegroundContentPresenter" Margin="{TemplateBinding Padding}" Content="{TemplateBinding VerticalForegroundContent}"/>
<Rectangle x:Name="VerticalCenterElement" Fill="{TemplateBinding SliderThumbBackground}" DataContext="{TemplateBinding Value}" VerticalAlignment="Top" Height="{StaticResource Dark_SliderTrackThemeHeight}">
<Rectangle.RenderTransform>
<TranslateTransform/>
</Rectangle.RenderTransform>
</Rectangle>
</Grid>
I have a SL 5 app set to run out of browser.
The OOB setting:
<WindowSettings Title="Thing" Height="497" Width="462" WindowStyle="BorderlessRoundCornersWindow" />
Blend reports the width and height for the UserControl as 463, 500.
When the app runs out-of-browser, it appears there is a 1 pixel line of white along the left and top edges.
Some xaml:
<Grid x:Name="LayoutRoot" Height="500" >
<Border BorderThickness="1" CornerRadius="6" Padding="2" Background="#FFF17A35">
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,4,6">
<HyperlinkButton
<!--blah blah -->
</HyperlinkButton>
<HyperlinkButton x:Name="hyperlinkCloseButton"
<!--blah blah -->
</HyperlinkButton>
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Row="2" HorizontalAlignment="Center" Margin="0,2,0,0">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<!--blah blah -->
</StackPanel>
</StackPanel>
<ScrollViewer Width="400" Grid.Row="4" VerticalAlignment="Center" MaxHeight="76">
<TextBlock x:Name="DbgOutput"
Text="{Binding DbgMsgTxt}"
Width="396" TextWrapping="Wrap"/>
</ScrollViewer>
</Grid>
</Border>
</Grid>
Any hints on where the whiteness is coming from?
I Think Fllow This Staps And Helpfull To You My Be
Have New Idea To Implement This
1 . Click On Sliverlight Project
2 . Select Properties option
3 . Select First tab option Like Silverlight
4 . Click On Out-Of-Browser setting Option