2010-07-08 6 views

답변

2

또 다른 인기가없는 "아니오"대답입니다. 대답은 : 이것을 할 수있는 방법이 없다는 것입니다.

브러시를 만드는 것이 중요 할 경우 가능한 한 가지 방법은 WriteableBitmap을 사용하는 것입니다. 원본 소스와 클립을 쓰기 가능 비트 맵에 사용하여 이미지를 렌더링 한 다음 ImageBrush의 소스로 사용합니다.

+0

아아 ... 남자. 나는이 일을 할 수있는 방법이 있기를 바랐다. –

+0

@Otaku : 무엇에 비해 제한적입니까? Silverlight는 합리적인 인터넷 친화적 인 발자국을 가진 플러그인 및 라이브러리 세트를 제공해야합니다. 고려해야 할 성능 문제도 있습니다. Silverlight는 설치된 Windows 응용 프로그램에서 사용할 수있는 CPU 사용량과 관련하여 동일한 입장을 취할 수 없습니다. Silverlight 앱은 Windows와 Mac 모두에서 수정이 필요하지 않습니다. 전체적으로 많은 중압감이 필요합니다. – AnthonyWJones

+0

그 자체로 제한됩니다. ''에 클리핑 패스가있을 수 있다면, 왜 ''이 가질 수 없는지 알 수 없습니다. 리치 텍스트 상자 (' RTB가 실제로 좋았습니다. 실제로는입니다. ')를 만드는 것과 같이 뭔가 새로운 것이었다면, 이해할 수는 있지만, 매우 유사한 구성 요소의 클리핑 경로가 이미 존재합니다. –

1

어쩌면 내가 CornerRadius를 가진 ImageBrush와 및 테두리에 문제가 있었다

도움이 될 것입니다. 나는 이미지를 채우거나 구울 수 없었다. 나는 ImageBrush를 Border의 내용으로 옮겨서 그것을 해결했다. 여기

<Border CornerRadius="0,0,4,4" BorderThickness="0"> 
    <Border.Background> 
     <ImageBrush ImageSource="/SLTest;component/Resources/background_image.png" Opacity="1" Stretch="UniformToFill" /> 
    </Border.Background> 
    <ListBox x:Name="lbiMesages" 
      Opacity="1" BorderThickness="0" 
      IsHitTestVisible="False" 
      ItemContainerStyle="{StaticResource ListBoxItemStyle1}" 
      > 

을 작업 버전입니다 :

여기에 문제가 원래의 내가 제한 될 SL을 찾는거야

<ListBox x:Name="lbiMessages" 
    Opacity="1" BorderThickness="0" 
    IsHitTestVisible="False" 
    ItemContainerStyle="{StaticResource ListBoxItemStyle1}" 
    > 
    <ListBox.Template> 
     <ControlTemplate> 
      <Border CornerRadius="0,0,4,4" BorderThickness="0"> 
       <Border.Background> 
        <ImageBrush ImageSource="/SLTest;component/Resources/background_image.png" Opacity="1" Stretch="UniformToFill" /> 
       </Border.Background> 
       ... 
       </Border> 
     </ControlTemplate>